The Whereoscope guys have put up a well-publicised post explaining why they prefer Android development to iOS. One of the main gripes they had was the lack of garbage collection; I felt I had to put forward my take on the GC question.
GC has been available in Cocoa since 2007, and there’s no technical reason (that I’m aware of) that it can’t be delivered as part of iOS. Apple has made an explicit choice to not ship GC in the OS. Without going into too much detail about the trade-offs involved, I think it’s fair to say that when Apple does need to make a trade-off between developer convenience/productivity and user experience, the user will win EVERY TIME. Developers who are expecting anything else are kidding themselves.
Regarding the other points — it’s much the same deal with the provisioning and App Store deployment processes; these are there primarily to deliver a safe, simple, reliable experience for the users. Criticisms of the documentation and XCode are subjective, but probably not too far off the mark. I did find the complaint about the Simulator as being ‘too fast’, in comparison to Android’s emulator (too slow to be usable, but this is somehow a good thing) to be quite odd.