I have been a college professor for 7 years, here's what I have been able to PERSONALLY observe in that time:
(1) Frequent, regular feedback (quizzes, tests, homeworks, projects) helps a lot for most students. If you just have a final at the end the majority of students will finish the course having learned a lot less.
(2) Obviously students learn more when they're personally engaged and interested in a topic rather from just doing it to get a grade. But getting them excited is not obvious and engagement varies in predictable ways based on previous background knowledge and aptitude for the subject. A lot of the extra effort a teacher does is ultimately to try to get students more excited about a subject.
(3) One on one time with a teacher students can be very helpful. It will almost certainly produce a noticeable improvement in subject understanding, particularly for those students who are motivated but struggling a little bit. Unfortunately this requires a lot of time from the professor, so it's not really practical except with small classes and a small teaching load.