I know many people compare Google with Microsoft regarding their upgrade cycles, but here's the difference between the 2, which might be smaller than you think because both ecosystems take as much time to get the new version widely deployed (around 8 months from testing to shipping, according to a Google software engineer). The real difference between the 2 is in when they make it available.
- Google works like this: they develop a new version of Android, and as soon as it's ready, they release it in the open. So let's say this happens in January 2012. Then it takes until October until companies adopt it, some faster (or slower) than others (some after 2 months, some after 10).
- Microsoft works like this: they develop a new version of Windows/WP7. But when it's ready (say again January 2012), they do not release it. Instead they get manufacturers behind the curtain to start adopting the new version of Windows/WP7 - and in the process fix the bugs that they have with their specific hardware. And then in October, there are a few manufacturers to release hardware with the new OS version at once.
So both take the same amount of time, but the people's perception (not reality) is that Microsoft does it faster because they release it at once/or upgrade. But the truth is they also needed a lot of time to prepare for this. It's just that it all happened behind the curtains, instead of out in the open where everyone gets to criticize some manufacturers for being too slow compared to others. Plus, by the time Microsoft does it, Google already has a new version out, that once again manufacturers can pick-up immediately.
And here's the problem with Microsoft's method. Theirs is actually slower. Why? Because if you count the time from when a specific chip that they use was available, to when they actually released those devices with the new OS version, it's a lot more than just 8 months. That's why WP7 phones have such outdated hardware (Qualcomm S2), and even Windows 8 for ARM will continue to have the same problem.
Contrast this with Android, where a manufacturer gets to work on porting the latest version of Android as soon as it's available for a new chip that just came out, and for some of the top manufacturers, it's even earlier than that. This is why Android has all the latest hardware and technology.
I do think that Google should find a way so people can install Android on pretty much any ARM-based smartphone or tablet, which would be a dream come true for every Android fan - being able to install the latest version of Android straight from Google, but also being able to choose modified and enhanced versions by the community, that would install just as easy. I'd much prefer this method, if at all possible - than trying to keep the Android version for a lot longer for themselves, and try to get all the manufacturers in line, to release in the same day or month.