The way I see it, each model gets 2 full featured instalments of iOS and then one with less Features.
You can decide whether you want to upgrade the hardware or not.
iPhone: iOS 1, iOS 2 and iOS3 minus A2DP, MMS (even though jailbroken it could do MMS already) and GPS
iPhone 3G: iOS 2, iOS 3 (didn't have video) and iOS4 minus multitasking and background images (even though jailbroken it can do these in different ways)
iPhone 3GS: iOS 3, iOS 4 (without Facetime) and iOS 5 minus whatever apple chooses to put in as it's 'killer features'.
iPhone 4: iOS 4, iOS 5 and much less capable in iOS 6
This is much better than, say Samsung, who released the i7500 as a premium phone, not long after Android 2.0 came out and they never gave any customer care. Apple annoyed me with iOS 3 and the lack of A2DP on the iPhone which I thought was just a software limitation (and still do) but the bottom line is this:
You get a phone that does it's job really well with the first firmware. Brilliantly on the next (with a couple of forgivable limitations related to hardware) and well on the last update. Apple doesn't forget about you the second you walk out with one of their phones.