Apple's not all bad
There can be (and in fact are) good reasons for many of the things Apple does.
If you allow undocumented API's to be used then you can't change or remove them without breaking apps. Preserving undocumented behaviour because existing apps depend on it is something MS specialise in, and on the whole it soon becomes a bad thing.
If Apple open up the iPhone to unregulated development and software distribution, it becomes undifferentiated, more susceptible to competitive pressures, less amenable to future innovation.
If you allow background processes and unrestricted app installation, millions who don't even know what a process is will be complaining their iPhone is slow and doesn't hold a battery charge. Apple will have to create "Apple certified iPhone support specialists" to tell users to kill the apps they didn't even know were there. We'll have whole ghastly industry of so-called "professionals" just like Microsoft's. The users are happier with something that just works.
It's actually true that you can do a great deal just with web apps. And they have the advantage that they run anywhere, not just on iPhones, even if tailored for iPhones. If Apple had released an SDK at iPhone launch, it would have been a horrible mess, and the APIs would have been in constant flux. And web apps would never have got a look in.
What Apple are doing is managing the roll out of a new platform. By all means say what you don't like about it, but wait and see how it all works out before claiming you know a better way.