^^^Yeah, for many users, software demands don't really increase as fast as computing speed does. Lots of people look at photos, write in MS Word, email, browse the web, listen to music, and if they're really keen, edit a photo in iPhoto. Remember, there are a lot of boys and girls, men and women who don't care much about computers, the quality of their photos, etc, as long as they work and they can see their photos and look at stuff on FaceBook, eBay, etc.
What is the optimal amount of time to wait so that you still get a decent price when selling your current machine?
I believe the answer to this particular question is "upgrade every year". Resale value of your machine remains very high (for Macs) after 12 months unless there was a major processor upgrade, feature upgrade, or new form factor released during your 12 months of ownership.
Lets say you buy the high-end $1600 MacBook, and someone tends to upgrade every 3 years. After 3 years of ownership, he sells it for $500, and uses that money, plus $1100 of his savings, to buy another $1600 MacBook in 3 years time. In other words, that MacBook cost me around
$367 per year ($1100/3 years).
If I decided to upgrade every year instead, lets say I could sell my 1 year old, $1600 MacBook for $1200 or $1300. That would mean that the MacBook cost me
$400 that year. If there was only a minor speed bump to the MacBook line that year, perhaps you could sell it for $1300 so that the MB only cost you
$300 that year.
In 3 years time, it would have cost you
approximately the same amount of money to upgrade every 3 years as it would to upgrade every single year. The only difference is that by upgrading every year, you're using the latest and greatest all the time.
Saying that, I'd rather upgrade every 3 years.

If I have a reliable machine, I don't want to give it up to buy something that's only a bit faster. I don't see the point when my needs haven't changed much, particularly if my machine has been trouble-free. That piece of mind is really nice.