Another key aspect is that even major software updates tend to work reasonably well on previous generations of their devices. For instance, an iPhone 3GS can run the latest version of iOS, and Apple's one-year OS development cycle isn't obstructed by a carrier's two-year contract cycle.