The reason for that is speculation: even though a .com registration is dirty cheap, getting a decent .com domain is very expensive because for many companies it is worth it to keep the domains parked, and when someone wants to buy one of them it gets very expensive - quite often it costs thousands of dollars.
However, if registration prices went 10x overnight these domain hosting companies would be forced to get rid of many "second class" domains, which would be soon available for regular users without intermediaries. Off course "premium" domains would still be expensive, but it's an advancement anyway.