One of the things that drove me nuts while I was an Android user (that doesn't seem to have changed) is that you can buy the latest and greatest phone one day, Google will release an Android update about two months later, and it takes another six months after its released for the update to land on your phone.
I watch the All About Android podcast on TWiT and it seems like most weeks, one of the hosts mentions that they're still waiting to get an Android update on a phone that's only a few weeks/months old.
I realize you can root and ROM to get the update earlier, but it's a shame that Google lets the carriers keep critical OS upgrades out of the hands of customers.
A legitimate frustration.
However, consider that Android has gotten to a point where it's incredibly stable and effective. Some might argue better than iOS. At this point and time, it's just not that important to have the latest update right away. A few months wait won't suddenly render your phone obsolete or useless.
There's also the Nexus line if updates are utterly important or, as you mentioned, rooting and flashing them yourself (a process that has gotten a lot safer and easier to do lately).
Lastly, iOS may update across generations of iDevices, but often you don't get everything the latest OS offers. In some cases, you don't even get the main feature of said OS update (iPhone 4 and SIRI, Navigation come to mind. These are the two respective main features of iOS 5 and 6 respectively).