I've had a couple people ask why a year-old phone would be worth more than a brand new phone.
So I sold a used 3GS for $375. But you can buy a new 3GS for $99.
Why would someone do that? Because they don't want to pay to switch to AT&T. Either because of AT&T's not-great service or because of the cost in switching from their current carrier.
Any new iPhone comes with an AT&T contract, but if you don't want to switch to AT&T, then the only way to get an iPhone is to buy it used. And it turns out, there's quite a market there.
I did the same thing last year: sold the original iPhone for as much as it cost me to buy the 3GS. I didn't make money that time, but still. I broke even after selling a two-year old phone to buy a brand-new one.
It's a surprising aftermarket, but it's been there since the original iPhones came out in 2007.