The real reason here is a technical limitation. The Nexus One and many other devices from that generation have very little ROM space. Typically <500MB. ICS+ takes anywhere from 350MB-400MB of that. So the user is left is left with hardly any space to install apps. It can fit less than 5 apps probably.
Even with custom ICS and JB roms this is a problem, but there people know what they are getting into before hand, and also for rooted devices, there's ext2sd which basically uses your sdcard to store user data.
Google fixed this with Nexus S and forwards. So we have to wait and see how long the Nexus S will be updated.