It's not a "dirty secret", though. One should know and expect that. If anything, low retention is a good thing insofar as it means that the courses are demanding and people who aren't dedicated trickle out.
I feel like we have three problems to solve in online education. I'm sure there are plenty more, but 4 stand out right now:
(1) Hidden node discovery. You're 23. You just learned Python. You want to be a Data Scientist in 3 years. How do you get there? "Data Scientist job" is one node, and there are a bunch of prerequisites to those (hidden nodes) and prerequisites to those. How do you navigate this network? The 23-year-old programmer doesn't know where those hidden nodes are. In other words, the Google for Learning and Development.
(2) Forward learning. Recommendations. Things that would be interesting to a person that she doesn't know she wants to know, because she doesn't know that it exists. Since there's a lot of investment here (you're not just buying a book and possibly reading it, but anticipating putting 50+ cognitively intense hours into a course) it would be nice if the service gave indications as to why it was making those rec's.
(3) Interactivity and (buzzword warning) "gameification". When you haul out an 800-word machine learning textbook, you often have to go for a long time (hours) without the "kick". There's a flat array of 50 exercises of which 25 are easy, and 25 are really hard and will take a long time (they might be worth doing, but they aren't quick) and it's hard to pick which ones to focus on. The programming exercises in texts often don't get your creative juices flowing. Not a lot of people can get through long spells without feedback, and the skill of "making your own feedback" seems to be losing ground in our distracted culture.
(4) "Social". Online study groups. This is Big and I don't know how it's going to evolve. How do we keep quality control in place and make sure that our automated expert discovery mechanisms work?