IDG Answers is a community of experts who are passionate about technology. Ask a question or answer one below.
In addition to what the previous commentor said, carriers are a major hurdle too. They will also want to customize it to remove features (like tethering) and add their own bloated applications to the OS.
Finally, both manufacturers and carries would prefer not to update older devices (atleast in a timely fashion), because obviously it would mean lesser sales.
But the beauty of Android is that it's open - you can download a custom ROM based on ICS or even get an official ICS update which might have been released for other countries/carriers. Check out http://forum.xda-developers.com for more info. This is something that iPhone users miss out on, and is a major advantage of Android. Heck, the ancient Google G1 phone - one of the very first Android devices to be released - can run ICS (with everything working), thanks to the community. Now I'd like to see someone try and run iOS 5 on an iPhone 1. ;-)