There’s a thought provoking article at AboveTheCrowd on Google’s business model for Android. It explains how Android might actually be a defensive play rather than quest for profit in that it helps prevent other phones (and mobile OSs) coming between Google and end-users.
The same strategy can be applied to apps in general. While a few developers can make profits selling apps, even on Android, most apps don’t sell well. Successful apps are more likely to be those that reinforce some other business need or promote something else rather than creating a profit on their own.