It's not hard to keep an old computer running well -- just don't update.
That's harder to do for old iPhones, especially for a family where every phone syncs with one instance of iTunes (and thus all share apps, movies and the like). If I accept all updates I find that perfectly good apps no longer work on old phones -- even the still Apple supported 3GS.
So I've copied all 1.7GB of apps from iTunes Music\Mobile Applications to a local store. When a valued app stops working on an old phone, I can delete the update and restore the older version. Going forward I'll accept the updates, and if something breaks I'll evaluate a reversion.
I wonder how this works for users who sync to the Cloud.