There is a ton of FUD on this thread, and I've read through most of it. I hope to add some technical clarity from my software engineering background. Additionally, there is a lot of "black & white" thought being espoused, when the picture is much more appropriately described in shades of gray.
1. There is a very clear difference between the iPhone OS and native applications, the public API's (a subset of the iPhone SDK), and the distribution mechanism (the App Store) employed by Apple. They are not all the same thing, but collectively create the iPhone platform.
2. The platform itself is appropriately described as closed or "walled-garden" if you will, because Apple maintains strict control of the OS and native applications, as well as the distribution mechanism. Is this an open platform? No. Is this anti-competitive? Yes. Is this monopolistic with Apple's small market share? Not likely. Is this consistent with Apple's behavior with OSX and mac computers? Not directly, but it depends on your point of view. Has this been deemed illegal by any governing body? Not at present. Is there anything we can do to change this at present? Only complain. If you don't like it, take your money to a different platform.
3. The strength of the OS and native applications can technically be argued in many ways. Performance, security, stability, extensibility and many other factors are weighted against each other, but only so much can be done in a limited amount of time. Because Apple is so tight-lipped, we can only guess about where they've made trade-offs. Because they limit the distribution of 3rd party apps, we don't always know what sins they are covering up. Cut & paste, flash support, bluetooth radio programming and a myriad of other things MIGHT be limited because of short-cuts they've taken along the way. To speculate such info without decompiling/dissassembling is just that -- speculation.
4. The API's themselves are mostly open, with very little that can't be done. The problem that most are complaining about is the distribution system, since Apple has been inconsistent and capricious about releasing certain types of applications. As mentioned in (3) there may be reasons for that. What IS missing is an alternate way to distribute applications. It's unfortunate that the choices available at present are:
1) the App Store and it's limited model
2) ad hoc distribution limited to 99 units at a time
3) jailbreaking the phone and going a totally separate, unsupported route.
I personally don't think we should expect Apple to open their AppStore more than they already have, as developers agree to play by the rules when they enter the walled garden. What would be nice--but which I don't expect to happen--is for technically-savvy power users, who bear full responsibility for their actions, to be able to distribute and install applications outside of the AppStore, but still live in the non-jailbreaking world. Right now, the only way to install things not-approved by Apple is to compile the code and deploy it yourself using your developer certificate, or to jaibreak the phone. Neither approach is really ideal. In the mac computer world, you can install 3rd party apps that you obtain from non-Apple sources. Unfortunately there is no widely available mechanism to do this on the iPhone at this time.