Pretty much. The Nexus line is the only one with consistent updates, even then some Nexus S devices haven't got ICS.
Thought all the Nexus S versions were upgraded? AT&T & TMO's were, as was the Sprint S 4G model. Whats left?
To the OP, generally, if you buy a middle to high end Android phone, you can expect at least one upgrade. IE, from 2.2 to 2.3 or 2.1 to 2.2. And many devices also get incremental updates, even if they aren't upgraded from 2.3 to 4.x. Since carriers hold back the updates, it often makes the process much longer than it should be. I'd really like to see updates done directly through the manufacturer in some form of update.zip. User gets an notice on their phone that an update is available, but nothing more than a Notification. To actually get the update, they'd need to download the update over a WiFi connection of connect their phone to the PC. Bypass the carriers entirely.
2.1 to 2.2 to 2.3 were also small upgrades, with relatively few changes. Hardware requirements didn't see an extreme jump from Eclair to Froyo to Gingerbread, and quite a few phones that launched with 2.1 are actually fully capable of running 2.3. The jump from 2.3 to 4.x was huge though, far bigger than previous updates. Think Windows 98 to Windows 7 jump. This takes a lot longer to get the updates to bake. And if you've had the phone for a year, and it takes the manufacturer a year to complete the upgrade, and 8 months for the carrier to push it, you're in your upgrade window and likely want to buy a new phone anyway. Huge jumps in processing power and specs in even a single year.
Some phones are delayed for obscene reasons, however. See the Verizon Galaxy Nexus. 4.0.4 has been available since ~5 Feb. Verizon's been picking their nose ever since. See the Samsung Galaxy Tab 10.1/8.9. According to Samsung Canada, the ICS updates done and they're just waiting for carrier approval. Situations like this are aggravating.