edX is the most interesting for the future, but they don't have a lot of available courses. They have really nice platforms for certain things though...like programming courses where there is a Python interpreter built in to the course webpage so you can have much more dynamic homework assighments/tests. Much better than coursera which frequently has you write and run code on your own and then choose the result from 4 multiple choice options. Especially now that Stanford has joined up with edX--my favorite course I have taken was the database course from Stanford that was one of a few that started the MOOC boom (the guy who taught the machine learning course went on to found Coursera and the AI teacher founded Udacity).
I tried to take a Udacity course and it was awful and I quickly quit. That particular course has been noted all over the internet for being particularly terrible, but it left a bad taste in my mouth. Also, the unstructured course schedule makes it so easy to give up and just say "I'm going to do it later".
I took a Coursera course, and am taking some others. The course I fully completed was a 1st run course, so there were wrinkles being ironed out, but I learned some pretty cool things. The structured course schedule with weekly homework/quiz portions and two larger projects forced you to keep up with it. If I didn't watch the videos, it would be hard to do the homework, and if I didn't do the homework, I would get a zero. Obviously the scores don't really matter, but as long as you set a goal to pass the course, you will have to do the work to keep up. It would be nice if their platform got a bit more interactive like edX, but they have potential.
If you want to take something interesting, sign up for the Machine Learning course on Coursera that started this week (nothing is due for a bit so you aren't behind). Its the one taught by the founder and is supposed to be an excellent course. I haven't made it too far, but so far so good.