Apple's iOS performance cycle is kind of annoying.
I have an iPod touch 4th gen that's currently running iOS 5.0. It went from being a silky-smooth device with iOS 4 to lagging a bit. Scrolling is noticably choppier in most cases, sometimes the SpringBoard performs less-than-adequately. Sometimes, when I go to unlock the device with the home button, it thinks that I'm double-tapping the button and brings up the iPod controls and camera button. Nice. Then I remembered going from iPhone OS 2 to 3 on my old company iPhone 3G. Same deal: more lag (though iOS 5 at least feels like a more feature-packed update than iPhone OS 3).
So, it looks like Apple supports devices through two updates. If the iPhone 3G is any indication, iOS 6 is going to make my iPod unusably slow. Oh well, being able to keep a device updated for 2-3 years really isn't too bad. It's about what I'd expect. I still love my little Pod. :p
On another note, my Windows Phone keeps getting faster and smoother. It was always silky smooth, but now software that used to be laggy (like the official Twitter app...ugh) now runs well, and all apps come back from sleep mode almost instantly now. I suspect that they've made substantial improvements to the .NET runtimes in the OS. But, still, it kicks ass that running a phone OS update adds a ton of features to the standard software without affecting how the phone performs while at the same time improving the performance of third-party applications.