IMO, this breaks down due to the App Store's volatility. To compete, one generally (there are exceptions) has to lower prices to silly levels. That's fine and dandy when you're selling a couple hundred copies a day, but as soon as you fall off the chart in your category, you fall into the pit of selling 0-5 copies a day. At that point, not having a subscription model becomes unsustainable. There are 75k+ (and growing) apps on the store and a very small percentage of them actually get noticed. When they do, they often fall back into obscurity quickly. Very few apps maintain a solid rank for a year. You can't bank on getting sustained sales forever because you take the risk of having to foot the bill for the server yourself when the sales stop, VPS or not. Anyway, the feature is optional and the app works great without it. Apple recently added a listing that shows apps pulling in the most revenue. I think their hope is it will help alleviate this "race to the bottom" pricing. Time and market will tell.
As for push, there are two bits: client<-->server interaction and opening a socket connection to shoot data to APNS to send the notifications themselves. It was pretty fun to get together and really the hardest parts dealt more with business rules than integrating with Apple's service. I would personally have preferred APIs to hook into the phone's calendar app, but push is useful for IM apps and the like, in lieu of background processes.