Many people on this thread have a very skewed picture of iOS development. I have released three fairly large iOS projects (i.e. months to years of development rather than a few days or weeks like so many toy apps). The first was a smashing success and our 3-person development company was acquired for it. The acquiring company is now my employer so I won't name specifics in this case. The second was an independent iPhone app I wrote that was a total flop. The third is my new independent iPad project called Stash that's doing pretty well so far: http://stash.hedonicsoftware.com/
Just the existence of Stash on the App Store - basically an app for porn, though it doesn't provide the explicit content - is evidence that Apple isn't nearly as draconian and capricious as many in this thread are portraying them to be. If you create a high-quality app (or hell, even a low-quality one so long as it doesn't crash) that follows their general guidelines and doesn't try to take over basic functions of the iPhone, you won't generally have a problem. Sure, there are famous counter-examples, and I really feel for those developers. I can't imagine a more frustrating experience then pouring your time into something that's rejected outright. But it doesn't change the fact that these are the few exceptions in a vast sea of approvals or justified rejections (based on the three points that Jobs outlined). Moreover, in my experience Apple is getting much better about working with developers to get apps their approved. It's still a slow process - the last release of Stash was delayed without feedback for over 2 weeks, which felt interminable - but they eventually call and tell you about any solvable issues and give you a chance to correct them.
I'd also like to point out that outside the pain of dealing with the review process, iOS development is a lot of fun. Someone on this thread said no one is in the App Store simply for the love of programming, but I strongly disagree. Apple provides some really nice APIs, and it's relatively easy to create something that looks and feels smooth and professional. I'm currently working on an Android project for my employer, and it's a real chore compared to iOS dev. I don't care how "open" the market is or even how powerful the SDK is if I hate coding for it and need a graphic design team to make it look decent. People forget that Apple/NeXT has been in the GUI framework business for a long time. They know what they're doing. They also seem to be good at letting their internal APIs fully bake before including them in the SDK, which results in a much higher signal-to-noise ratio than in Android, where everything feels over-engineered. I recently read an article by another iOS developer that sums up my feelings pretty much exactly: http://iphonedevelopment.blogspot.com/2010/03/android-sdk-from-iphone-developer.html
That's my 2 cents. YMMV. But if you're interested in mobile development at all, you owe it to yourself to give iOS development a shot.