A recent 93-page report on online education, conducted by SRI International for the Department of Education concludes: “On average, students in online learning conditions performed better than those receiving face-to-face instruction.” You can read a report about this from the New York Times.
I've taught a few online classes myself with mixed results. My finding is that online classes require much more structure from the instructor and are quite a bit harder to teach well. But from the teacher's perspective, the first time through it is much harder than subsequent semesters because much of the material may be re-used. From the student's perspective, it is also more work. You won't be spoon feed the material and proded along as much as in a face to face class.
In a summer online class (Python Network Programming) that I've taught twice, I find that only the most dedicated students can get through the material in the summer. I have had to allow many incompletes with the hope of finishing it up during the fall semester. Still quite a few end-up with a failing grade in December. It just take self discipline and determination to complete an online class.
But I would have to say that the reported study is probably accurate for those with the determination to get through it. If one decides to do the work, which is to read the book, read my study guide, watch my screencasts videos and do the programming assignments and, of course, the exams. Then they will have learned quite a bit about Python Network Programming -- probably more than someone in a similar face to face class. The bottom line is that to learn a subject well always requires work.