While it's true that Google allows the phone makers and carriers to do what they want with Android, it's also true that it's Google's platform. And everything that happens on that platform reflects on them. For example, there's been talk about preventing the phone makers and carriers from skinning Android and there's definitely an argument to be made there. Sense, Blur, etc certainly benefit the phone makers by making their phones unique, but it also means there is no unified UI for users and it takes considerably longer for phones to get the latest updates from Google.
One can argue that this is just a fact of life with open source, but the strength of Android for USERS isn't the ability of phone makers to skin their devices... it's the ability of USERS to customize their devices. I think all Android phones should have stock Android by default. If the phone makers and carriers want to *offer* skins or custom features, fine, but let it be a choice by the user.
The Nexus One is no longer being sold now, so we are at the whim of the phone makers to implement new updates from Google. If they choose not to update, then we users are the ones who suffer. For example, there may be no motivation for phone makers to update a phone that hasn't sold well. There's no guarantee that we Droid X owners will even get Gingerbread. But if you buy an iPhone, you can be quite certain that you'll get the latest update even a year from now (albeit it might not have ALL the features of the hardware can't support it, but it'll have most).
Sure, technology moves fast, but we are also signing 1 or 2 year contracts with these phones. Of course, we could always pay full price if we really want to upgrade, but we should also expect our phone to be supported and updated for a reasonable amount of time. What's "reasonable"? A few months? 6 months? A year? 2 years? I'll stand by my statement that these are issues for all involved in the Android platform (Google, phone makers, carriers).