That's off-topic, but this this is a pet peeve of mine, I'll bite. Have you tried code signing Blackberry apps? Desktop apps, java apps? Shockwave xtras, god forbid? Apple made something really complicated & poorly documented into something that was only moderately difficult and mostly automated, and with Xcode 4 it's possible to know basically nothing about it and develop apps on your own devices, so I'd say Apple did it pretty well.
Just because it's horrible everywhere and apple is 'less horrible' is still no excuse. It still can be done much better, the developer shouldn't have to do a quarter of the error prone BS with provisioning. Provisioning is very fragile in general and is also a cause of automated build breakages here when it really should never be.
Provisioning is also required 100% of the time to run unsigned apps in iOS. Many of those devices you mentioned let you run unsigned apps after a warning prompt, or at least on a developer device. This can avoid a lot of BS during development.
I've haven't worked with android, but from the lack of complaining by my android working coworkers, I'm guessing that it's much better or non existant on android, apple's main competition.