It's a bit after the fact, but 2 things to keep in mind with regards to Android phones:
1. If you can, when you are shopping for an Android phone, opt for a Google Experience Device whose software is vanilla Android and is managed directly by Google.
2. If you already have a phone with a crappy Android build, the best solution is installing a custom ROM like CyanogenMod. Most custom ROMs remove all the manufacturer junk and also tend to work well. When there are bugs that need fixing, the custom ROMs have release cycles that are measured in days or weeks, rather than months or years.
That said, I do realize that not everyone has the time, inclination and knowledge to fiddle with their phone's ROM.
I'm not sure there are any Google Experience phones for sale.
The Verizon Galaxy Nexus does not appear to be a pure Google phone -- it comes preloaded with Verizon software and I have seen no statements from either Verizon, Samsung, or Google regarding when updates will be released, or who will publish them, or if they will first have to go to Verizon. (Here's one article discussing the issue: http://www.pcmag.com/article2/0,2817,2397377,00.asp - How CDMA is killing the Galaxy Nexus)
I am very interested in this question of when/where/who will publish the Galaxy Nexus updates -- I want to replace my Nexus One with a Galaxy Nexus. But much of the value I perceived of the Nexus One is that the updates came frequently and came directly from Google.
Yes, thank you, but even in that thread Jean-Baptiste Queru doesn't seem able to say where the OTA's will come from.
It seems to demonstrate that at least the Verizon hardware will take the pure AOSP builds, but perhaps not that the OTAs will come from Verizon in a timely fashion and that they will be pure AOSP or AOSP + Verizon stuff.
Yeah, as I said in a reply below, if I'd have waited another couple months, the Nexus S would have been announced, which probably would have changed my opinion completely.
As to your option 2, that's the type of option "the old me" would have considered; which is "ok, so maybe this thing I bought sucks, but I can root it and replace the software to do the things it should have done out of the box".
I've found that avoiding that line of reasoning has made my life much better. That's not meant to disparage people who do mess around with stuff like that, I think it's awesome that you can even replace the ROMs. I just hope that people who replace the ROMS on their phones are doing it because they derive enjoyment from hacking, and not because it's necessary to make their phone actually usable.
1. The Nexus One is not 2 years old yet and will not be getting ICS. So getting a Google phone is not a guarantee.
2. Having control over your phone is great. But that is not really what you paid for. So not really a solution unless you always intended to use a custom ROM in the first place.
I have to admit though, I don't think I have ever seen anything that says any smart phone, iPhone, Android or otherwise, will have software updates for at least the contract life (2yrs) of the phone. So maybe my argument has no feet to stand on and you are getting what you paid for.
So I agree with the OP. Checkout what you will actually get and look at the manufacturers track record of actually following through.
The Nexus S 4g (sprint) was the worst phone I ever owned. Terrible reception meant calls dropped constantly and therefore the battery never lasted a whole workday. On the flipside, my Motorola Photon has great reception and battery life, but is encrusted with Motororola customizations, and apparently unlocking the bootloader disables 4g. While I love the open nature of Android and I've enjoyed CyanogenMod immensely in the past, the fact is that right now I have a fairly locked-down phone which -- though powerful --is nowhere near as fun to use as ones I've had before.
1. If you can, when you are shopping for an Android phone, opt for a Google Experience Device whose software is vanilla Android and is managed directly by Google.
2. If you already have a phone with a crappy Android build, the best solution is installing a custom ROM like CyanogenMod. Most custom ROMs remove all the manufacturer junk and also tend to work well. When there are bugs that need fixing, the custom ROMs have release cycles that are measured in days or weeks, rather than months or years.
That said, I do realize that not everyone has the time, inclination and knowledge to fiddle with their phone's ROM.