I would say your example is not analogous. To upgrade from XP to Vista, the user has to purchase Vista and go through the install process. To upgrade from 3.x to ICS, the user simply downloads an OTA update.
The upgrade to ICS can be done by casual users, who may not even know that they are upgrading to ICS, whereas the XP user is clearly making the decision to upgrade to a new OS.