Because of Spam? Perhaps indefinite. Because of new file types? New authentication schemes? New mobile platforms? New user interface technology? Perhaps indefinite.
The word 'just' has no place here. If Sparrow cost $5/month I imagine that 99% of their customers would never have used it to begin with.
That way existing users still have a core product that will see upgrades.
The app is free and revenue is made from in-app purchases.
The basic app is structured so that upgrades are infrequent, because of the time lag.
However, the app connects to back-end servers which contain much of the smarts of the app. Thus they can upgrade them whenever they like, without having to upgrade the app. Then can also introduce premium features to be sold with the existing in-app purchases.
How you achieve this in a non-game setting is a challenge, but I believe it is the key.
For instance, if I buy Photoshop today, I get all the features. If I had bought the last version, I'd have an upgrade price to pay for the new features. In the in-app purchase world, does everyone always have to pay the original price + in-app purchase price? Do you just make the new base price lower (but with the low prices of apps in the first place, there's not room for many versions if you knock a buck off each one...)? And even that seems to still be new-user-unfriendly: I would be bummed if I bought an app for $1 and found out that the coolest features required another $3 in purchases, even if the app cost $4 when it first came out a couple of years ago (I probably don't even know that).
As a user, I don't want to be nickel-and-dimed for every little feature.
As a developer, I don't want to shoehorn every change I make into an IAP feature.
Can you imagine if you had to "upgrade" OS X, Aperture, Photoshop, or Office by purchasing a bunch of "features"?
(Serious question, I'm not familiar with the mechanics of IAPs.)
You sort of could deal with something like OS X Mountain Lion as an IAP, but it would be incredibly ugly - you'd essentially have to ship both code bases, and "unlock" the new one based on whether or not they purchased the "upgrade".
IAP works pretty well if you have new features that are fairly discrete and are worth paying for individually. As a substitute for an actual upgrade, it is an ugly hack.