I agree quite a bit with Keith here but for a couple reasons I've decided that the replications of courses is the best way for us to go at my school.
I used Moodle by myself at my school for 3 years before I started a school wide server. I've tried both the groups and groupings. In fact, my first year, I had fall semester, spring semester, and a yearlong class all running at the same time together on a 1.9 site in a single course. In that situation I ended up with duplicates of every assignment since they all had different due dates and availability. While everything was in the same class, there was very little centralized in the database other than the static files. To top it all off, my course these days has over 200 activities and resources after eliminating the duplication. It was terrifically long and difficult to deal with when you looked at all the duplication.
Quizzes bear special mention here. Once a quiz has been attempted, you cannot add or remove questions to the quiz. If you make a mistake in your quiz structure, you're now stuck with that quiz unless you duplicate it. There are some ways around this but none of them are ideal.
Finally from an end-user standpoint. I've taught myself the ins and outs of Moodle groups, groupings, group and user overrides, resets, etc over the past 4 years. A new teacher to Moodle will just get confused by all of these complications. Having a clean copy of the course for the next group of students lets them change things and tweak things without worrying how it will affect the former students' grades and data. Version control can be difficult to deal with if you're not well prepared.
Our process is to backup the courses close to the end of the course change (typically during exams) and restore it to a new course. Once the old course completes, it is hidden and moved into a hidden category. Teachers can still access it but students cannot. We keep one old course for each teacher and then delete them as we rotate a new one in.
Ivan, to your second scenario, I would use the separate groups and permissions change as has been suggested in prior posts.