This seems to be a trend. I have a Nexus S 4G that went months between the announcement of ICS and actually receiving it, while other phones were launched with it.
To me, Nexus means first in line, leading edge, and that expectation was not met. My trust in Google Android is shaken, and those "features" will no longer factor in to my decision when purchasing a new phone until Google proves themselves.
The T-Mobile Nexus S you're referring to had its 4.0.3 OTA pulled within the same month it was released due to mass complaints with Android OS wakelocks/battery drain, instability and other misc things.
For 3 months after that, even their current flagship the yakju Galaxy Nexus was stuck on an "old" version of Android 4.0.2 whilst they worked on a fixed version of 4.0.3 which they eventually shipped in March as 4.0.4.
While I'm not saying you should be pleased at the complete lack of communication/respect given to you, I think their decision to stick with an older, stable version of the OS on the Nexus S 4G as opposed to pushing an update they knew was broken was the correct one.
To me, Nexus means first in line, leading edge, and that expectation was not met. My trust in Google Android is shaken, and those "features" will no longer factor in to my decision when purchasing a new phone until Google proves themselves.