stuartjmz: As I said, my real issue is with the device manufacturers. My HTC Sensation (now my wife's Sensation) is a year old, and is still waiting for an ICS update. I could have rooted it, but as much as I enjoy doing that sort of thing on my PC, I simply can't be bothered with my phones.
Given how soon after release of an update the source is available, I'd think it would be possible for Google to impose a deadline on its manufacturing partners, say requiring them to provide the update to compatible handsets within 6 months of release. That would reduce the perception of fragmentation and reduce buyer's concerns about obsolescence. It would even help the manufacturers move product - if the Galaxy 7.7 had a JB update coming soon, I might have gone with that instead of deciding to go with the Nexus 7
That's assuming that its the device manufacturers that delay the release of updates. This is not necessarily the case.
I bought my HTC Desire HD online from the UK. My phone received updates almost as soon as they were released whereas the same HTC Desire HD in other countries took weeks/months to get updates.
I saw this again with my Samsung Galaxy S2. I bought it in Australia. While people in NZ were still waiting to get Android 2.3.3 updates my phone had already updated to 2.3.6 last year. It updated to 4.0.3 ice cream sandwich in April. We have a second SGS2 in the house, purchased from Telecom NZ, and its still waiting for its updates.
In light of my own experiences I firmly believe that the device manufacturers aren't responsible for these lengthy delays, its the telecoms companies that take their time to add their branding and test the updates across their networks. Manufacturers have to test as well, of course, and make their own modifications but, in general, these are not unduly delayed. Telecoms companies aren't too bothered about getting updates out in a timely fashion - they make their money from their plans and already have people locked into their ROM's. There's no extra money in it for them to hurry up and get updates out.