It's widely acknowledged on the internet at the moment that Android is suffering from a serious fragmentation problem. The different devices have different Android versions, some without promise of an upgrade, some with pure Android and some with vendor specific versions. I'm only an Android consumer, so can only speak about this from personal frustration, but the situation must also be pretty bad for those developing Android applications for such a fragmented market.
I used to be a reasonably happy owner of a HTC Hero. When I bought it, it was running Android 1.5, with the HTC Sense UI. Soon after, there was an upgrade to 1.6. That was a long, long time ago now, and large chunks of the rest of the Android community have different phones, with newer versions. HTC have been promising an upgrade for months to Android 2.1, and it keeps getting pushed out and pushed out. The latest announcement yesterday was the end of June, which is interesting considering that Android 2.2 is supposed to be released in May already.
Someone asked me a few days ago why I was looking forward to the upgrade, when the phone worked perfectly well already. This is surely a valid question and there are a few different answers. Some of the applications I use aren't being developed further for the 1.x series of Android, and new versions are only being developed for 2.0. The 1.5 to 1.6 upgrade improved performance a lot, and I was hoping that the 2.1 upgrade would as well.
At any rate, the most recent delay was the proverbial last straw for me, and I ended up putting a custom rom on my phone. I would actually really like to run pure Android, for philosophical reasons, so first I tried a pure Android rom. Unfortunately, it is just really nowhere near as nice as Sense. The most obvious difference that would affect me is the exchange support (against Liip's Zimbra set up) - in pure Android, I could not find a way to specify what to sync, and I couldn't make it include Calendars. In Sense, I can choose between Mail, Contacts and Calendars (I sync the latter two but not the first). Calendar support is by far and away the most important for me. There were a few things I liked better in Android - the keyboard was much more responsive (although uglier) - one thing that has been driving me crazy about this phone is the lagginess of the keyboard.
Anyway eventually I decided the calendar support was a deal breaker for me, so I put on a 2.1 Sensish rom, and so far, I am very happy with it (although the keyboard is still laggy). They fixed the annoying issue of not being able to see the arrival time of messages older than a day (they just say "Yesterday"), but not the problem where switching to mobile network after a long wifi connection doesn't work until you turn on and off Airplane mode (interestingly, I was not affected by this with Vodafone in NZ, only with Sunrise in Switzerland). I'm not sure whether this will be fixed by the eventual Sense 2.1 release. The custom rom I'm using doesn't have the zoom out display of the home screens that I saw in the pure Android rom, and neither the ability to rotate the home screen, both of which were really cool, but again I don't know if they're in pure Android and not in Sense, or they were added on to the pure Android rom I tried, or if they will be in the final Sense release either.
The moral of the story for me is intense frustration. I don't want to support Sense and I would rather use pure Android, but it's really not as nice. I haven't looked into the licensing model of Android yet (and am writing this offline), but I assume it's some sort of BSD-ish license that means that HTC are not obliged to distribute their changes, which is incredibly annoying, both for me, and I guess any pure Android users who are aware that their phone OS is not as good as those of us with Sense.
The obvious solution is for me to start doing Android development, switch to pure Android, and write Open Source apps for the phone. It would take a lot of learning of new skills, but sounds like it might be fun, and then I would be in the happy position of being able to hack on the software that runs my phone, which sounds pretty ideal to me. So I'm thinking about it.