That said, it can be good practice for those who need it (and the quality of available designs typically reflects this).
There are a lot of designers who are passionate and have amazing potential, but no access any markets.
It can take months to build an app and startups can take a lifetime to build into a company.
The upside to all spec work is pretty bleak everywhere, but we do it out of passion and our audacity.
If it is too lousy of a deal, then 99design wouldn't even exist or be viable. There would be no startups, everyone would work at major established companies and Android and iOS would be terribly boring devices with only apps made by the platform manufacturers.
Same thing for building iOS apps. Want an iOS app designed on spec? Get in touch with a few dozen developers, all of whom build the exact same app using your specifications. Pick only 1 of them as the winner and the losers are contractually required to throw their app away.
Bootstrapping a startup is "spec" work. No one is paying founders anything.
It's a choice to do "spec" work, no one is forcing someone to work for free. 99design is building an amazing marketplace for customers and professionals on a global level. This will change the way the restrictive nature of supply and demand in design.
EDIT: When I graduated from college, I worked for free. I bootstrapped a startup with my savings that failed to support me and then I worked for free at a development agency doing random projects. From that experience, network, and portfolio I now am living very well doing contracting work and personal side projects.