In May, I'll have completed my Master's degree entirely online through NC State's Engineering Online program. Since most people have already mentioned the negative aspects of online classes, I'll mention some of the positives.
First, it's incredibly nice to be able to rewind, pause, and replay portions of a lecture. It's also very useful to be able to play older lectures. And, it's nice to be able to watch lectures when it is convenient for you, especially if you are working full-time.
The lack of direct communication during class is easily mitigated by having an online, voice enabled office hours system. Most people don't show up for a professors' office hours, period.
Certainly, I don't think online courses can be applied to all classes, but from my undergraduate experience, many of my science/engineering courses were simply large auditorium lecture halls with little to no interaction anyway. So there goes class participation.
Some people might mention the lack of personal networking. Quite the opposite, I've met more full-time employees at other companies who are also in a distance program than I ever did in my undergrad, where I was mostly networking with other jobless, inexperienced students. If anything, I've observed that the distance students, being full time, tend to have higher averages as a whole than the 'live' classroom sections, mainly because most of us have years of practical experience in the field under our belts.
So, all in all, do classroom learning if you can, but for many classes, you won't really get any benefit.