Commenting as a dev: it's pretty hard to make money on the app store, but the rewards can be huge when you get it right.
Thing is, even getting it totally right in the wrong category isn't rewarding. If you make some amazing app that covers a very niche market, you still get tiny sales, and the only way to earn a living is to sell it at a very high price. That's OK for say a medical app purchased by hospitals, but not many people would pay $200 for say an egg timer.
End result: Lots of devs make pretty good niche apps, then start to work on making them awesome... and see their sales, and decide it's not worth the effort. So they either start making games, or they go back to their day jobs.
For a really great app to happen I think it has to be in an area that's reasonably profitable to make it worth it, otherwise the dev must make it awesome on the first attempt, before they realise it's not going to pay off
Some will do it for the love rather than the money of course.
Competition is definitely a factor, but not a huge one. If I want to build an app, I certainly look at the competition in that sector. There's only a few outcomes though: The competition is too good (in which case my app wouldn't be great, and you don't want it anyway), the competition isn't good enough (I go and make an awesome app), or there is too much competition (which means my app is average compared to all the others, and you're not missing out).