- Multitasking architecture is broken for many use cases. The biggest one is any sort of messaging application - your app doesn't actually execute any code when a notification comes in, so when your user reacts to the notification and launches your app, your app has to go and re-fetch much of the same data that the notification already carried. This comes across to the user as being slow and finicky.
- Basic UI paradigms are behind what the community is pushing. This isn't a lag behind competing OSes, but rather lagging behind itself. Apple used to be the flag-bearer for the state of the art of iOS UX, but the community has largely taken over to both good and bad results. See: pull to refresh, launch screens, side menus, etc. Apple can, and should, reclaim its position as being at the leading edge of its own platform.
- Lack of a proper inter-app communications channel. Intents on Android is very powerful, something like this is totally lacking in iOS.
- Lack of customizability when it comes to core functions. I cannot associate all mailto: links in the browser to GMail for example. I must use Apple's Mail. Ditto for Maps.
There are a bunch of others, but today is a rather busy day :P