AT&T is about the slowest carrier when it comes to sending out updates. (Assuming a 2-1/2 year old phone is going to get any more updates.)
Apple has full control over the hardware and firmware, so they can issue new versions of the firmware that are compatible with older firmware (and aren't much of a change - a major version of iOS is a lot less change than a major version of Android). Google can't test every modification (the manufacturer makes modifications, then the carrier does) on every new version of Android - the production cycle would have about 2 years added to it. We'd just be getting ICS now, while they'd still be modifying Jelly Bean to work on old Eclair phones.