I am taking Calculus II and Intro to Computer Programming via distance learning this semester, so I can give you some of my experiences.
I find that I basically teach myself, which, I think, is a good thing in that by the time I am ready to take a quiz on something, I truly understand how it works as opposed to just having memorized a series of steps in problem solving. (I am using both Blackboard and WebAssign, btw; Blackboard I like, WebAssign not so much mainly due to syntax issues in answers.) Anyway, this and the ability to access the web anytime, anywhere makes distance learning a positive experience for me.
On the down side, when I come across something I just can't figure out, getting responses from the professors is a huge pain. Neither spent any time setting up the virtual learning sites, so we have no group chats, sessions, or anything like that. (In an Astronomy class I took this way, that wasnt the case, and the class was most enjoyable and I learned a ton!) Case in point: I sent an email to my programming professor asking a formatting question over a week before my last program submission was due. Never did get a response from her, but luckily, I finally figured it out for myself.
But in total, I enjoy taking classes this way. I work 50-odd hours a week, so the freedom to work on studies when I can is most beneficial.
Btw, we do have to go into the school test center to take tests, so that eliminates a lot of cheating possibilities. Hope this helps.