When you get a chance, take a look at a recent article from InfoWorld: Where Android beats the iPhone. The author writes about his experience with the Google Nexus One and the Android platform from a developer's standpoint. What's interesting is his very accurate and honest comparison of Android development against Apple iPhone development - especially targeted at the Enterprise.
I have an article I haven't published that talks about why the iPhone platform is like it is and I hope to publish it soon (just need to give it another read and clean it up a bit) but what's clear is that decisions that Apple has made are getting ready to bite them in the ass. The InfoWorld article is just one of many that compares the iPhone with how easy it is to do very useful things on other devices. It's not that the iPhone can't do them - it's that Apple just won't let you do them. Here you have an amazing, sexy, capable device and so many of the smart and useful things that consumer and enterprise developers want or need to do on their iPhones are just not allowed.
I've been spending a lot of time lately working with companies and vendors who are building consumer and enterprise applications for the iPhone and other platforms. It's amazing to hear how many times these efforts have been thwarted merely by Apple's refusal to allow common behavior that is possible (I don't like to say allowed but that's basically the issue here) on every other smartphone platform on the market today. Developers are starting to revolt (look at what the developer of the Facebook application for the iPhone did a few months ago: here) and the market is going to turn away from the iPhone platform. This is going to happen only because of Apple's policies and in spite of the fact that it's a very cool, sexy and capable device.
The breadth of things you can do with the iPhone are being limited by the vendor, not by any limitations of the device. That's definitely going to hurt Apple in the market.