The problem with Android
Bob buys a Samsung Galaxy S. It's a nifty Android phone, and he shows it off to his mates. Dave sees how awesome the Galaxy S is, and decides he wants one. He sees an Android phone for £100, and thinks Bob was a mug for paying £300.
The problem is, Dave's the mug, because his cheap alternative will be laggy, slow, buggy, uncomfortable to use and half the stuff on the Galaxy S won't work on his phone.
He will then whinge to developers for not supporting his cheap handset. He'll moan about his network for selling him a bad phone. He'll **** off Android and say it's a load of rubbish.
In actual fact, developers aren't to blame, because they can't afford to buy every phone on the market. The network technically did no wrong because he wanted an Android phone. And Android isn't actually a bad OS at all.
So, is Dave to blame for not realising his device's low specifications are to blame for his OS woes? Probably.
That's the problem with Android. Rather than making it open source with minimum requirements, they've released it into the wild and told manufacturers and developers: "Go nuts!"
This leads to assumptions on everyone's part. Developers assume their apps will run on any Android device. Manufacturers assume that, by implementing Android, their device will feel familiar to the end user. Consumers assume that if it's Android, it'll be a good user experience with a good ecosystem.
Perhaps Android needs an overhaul. Or perhaps we'll see a new OS emerge exclusively for high-end handsets. But surely that would defeat the object of a healthy ecosystem. Decisions, decisions...