The 3GS has the same CPU and GPU as an iPhone 4 / iPod Touch 4 / iPad 1, just at ~25% lower clock speeds (which is not a night and day difference, especially since the 3GS has to push a fraction of the pixels). RAM is also the same as on the iPod Touch 4 / iPad 1 (with only the iPhone 4 having twice as much).
This is a
huge difference from the 1st and 2nd generation devices.
How long will they support it? My guess is that we won't see iOS6 on the 3GS even if it's technically possible. Apple wants you to upgrade at some point.
So far, they have supported 3 major releases of iOS on every iPhone/iPod Touch generation:
1st generation: iOS 1 - 3
.1.3
2nd generation: iOS 2 - 4
.2.1
3rd generation: iOS 3 - ?
4th generation: iOS 4 - ?
5th generation: iOS 5 - ?
It will be interesting to see how they will handle the iPads in this respect, since they are released between major iOS releases. My guess is, that they're supported as long as the iPhones based on the same hardware architecture are.
iOS5 is already heavily watered down
Far less than iOS4 was on the older devices. Every major feature of iOS5 is available on the 3GS.
and it still gets a bit choppy every now and then.
I see the same behavior on the iPad 1. I think some of it will be fixed in the upcoming releases.
Overall, iOS5 still has some rough edges.