It'll be interesting to see how (few) apps implement push notification.
To use it, developers are going to have to learn to write extremely scalable server code, since half their darned application will be off in a server farm somewhere. And those kinds of apps aren't written in Objective-C, you know.
The server side won't be simple code either, since notifications aren't guaranteed to arrive, and you always have to keep track of the data that the app should know about.
In addition, the poor app server has to know WHEN you go offline, so it can start sending info via Apple instead of directly. Since that would be an enormous pain to figure out, I suspect most apps will simply use the notification service all the time.
Not to mention paying for those servers.
The whole Rube Goldberg scheme falls down for apps that should be able to run in the background, but your server is down. Or Apple's is, since they don't guarantee uptime. Or you're on an airplane.
And how many do you think will just use a badge? None, because how do they know that you'll ever see it? So be prepared for lots of alerts. Since they're individual, and not handled in a single Home screen location, be ready to remember what alerted you.
The Palm Pre (and the new HTCs) will be able to have processes that wake up, then go out while you're sleeping and pre-download the days' events, feeds, and your favorite websites. IPhone? No. That's just one example. What a pain for the user to have to click a popup every time that a background fetch should've happened.