ICS is now on 2.9% of all Android devices. How do you think the roll out is going?
Now 2.9% does seem small, but take into consideration the
1. Number of android devices out there (and perhaps the number of users that don't know how to upgrade)
2. The number of distinct SKU's that a manufacturer has to support. (Look at how many android devices samsung has www.gsmarena.com/samsung-phones-9.php )
3. The number of carrier approvals that have to be passed. (AT&T, Rogers, T-Mobile...etc must approve software going to their phones)
These three main factors create the, for lack of better word, perfect storm that limits the rollout. It is not just Google that has had this problem. BlackBerry and their rollout of OS6/6.1/7/7.1 was slow, and I want to say WP Mango had this issue on a much lesser scale.
Yet people still clutch on to Windows XP...
TL:DR version - there are many parties involved. If you have ever worked on a large project, you will realize that most of the time is waiting on people to sign off on thins. Also, most phones have a gestation period of 6 to 8 months. You can't just switch OS in the middle of it.
I can go on for days over my gripes of Google's poor marketing skills but I won't turn this into a rant. I have backed Android since the G1 and as every year passes by I lose more and more hope over the potential of the OS.