Apparently the iPhone (or, more accurately, iOS) uses screenshots to make apps appear to load faster than they do. This has been called "lying" in some articles, but I think it's a valid user experience tweak.
To users like you and me, the really important thing about software is the user interface. The UI is the software, as far as we're concerned. So this screenshot trick makes the UI more smooth and responsive, which increases your satisfaction with the software and makes the overall experience more pleasant. That's exactly the kind of thing software should be doing for you, and it's the kind of design-for-experience quality we expect from Apple products, too.
The main reason you would want your phone to include a delay at the point of loading an app would be to represent what is "really" going on. This is not important for two reasons. One, the difference between what's "really" going on and what you see is a lot more than when the app loads. There's a ton of stuff you never have to see, and you never want to. It is hidden from you as a user, and rightly so. There's no reason to hit you in the face with the app loading time and not that other stuff. Two, an app should not be primarily concerned with the hardware on which it runs, but the user who is on the outside. You, the user, have a better experience when the phone shows you a screenshot for a moment, then replaces it with the real app a moment later, so that's what it does.
I'm not an Apple fanboy. I have never owned an iPhone, nor an iPod or iPad, and I don't plan to get one. I love my Android phone and my Windows 7 desktop, and my entire career is built on .NET, a Microsoft platform that doesn't run on iOS or OSX, and probably never will. So this isn't brown-nosing from a cult member. I genuinely think this design decision by Apple was a good move, and I applaud it.
Mokalus of Borg
PS - It's also pretty subtle, which is why it went unnoticed for so long.
PPS - And that's another sign of good design.