Michael Degusta crunches a lot of data on software updates for the iPhone versus Android phones shipped in the US before July 2010. Then he nails the crux of the problem with the Android ecosystem:
It appears to be a widely held viewpoint that there’s no incentive for smartphone manufacturers to update the OS: because manufacturers don’t make any money after the hardware sale, they want you to buy another phone as soon as possible. If that’s really the case, the phone manufacturers are spectacularly dumb: ignoring the 2 year contract cycle & abandoning your users isn’t going to engender much loyalty when they do buy a new phone. Further, it’s been fairly well established that Apple also really only makes money from hardware sales, and yet their long term update support is excellent (see chart).
In other words, Apple’s way of getting you to buy a new phone is to make you really happy with your current one, whereas apparently Android phone makers think they can get you to buy a new phone by making you really unhappy with your current one. Then again, all of this may be ascribing motives and intent where none exist – it’s entirely possible that the root cause of the problem is just flat-out bad management (and/or the aforementioned spectacular dumbness).