Most people should upgrade every two years. There are several reasons for this:
1. Most phones start to "show their age" after 20-24 months. They get slower, battery life becomes terrible, and they just generally look bad unless they've been wrapped in rubber.
2. Most carriers don't reduce your bill the minute you pay off the carrier subsidy. In other words, your iPhone might have cost AT&T or Verizon $500 (totally fabricated number, but you get the point) and you might have paid $200 when you bought it, but they won't just charge you $300 over the life of your phone. Your total cost is monthly and never ends... so that phone might actually be costing you $1,000 if you keep it long enough. One bright spot on this is T-Mobile, which reduces your bill once you pay the phone subsidy off. That said, you pay for it in network, at least in my area: they just don't cover as many places, especially in flyover country.
3. iPhones retain amazing resale value.
4. You're eligible for a carrier subsidy every 20-24 months.
Every two years most people can buy a new phone for $200, sell their old one on eBay for $100-$200 depending on condition (sometimes even more!) and come out roughly even on money. Why wouldn't you upgrade? Why try to make a phone last 4 or 5 years?
This, of course, only makes sense for people who buy with a carrier subsidy... but that's the majority of people who post on this forum.
The takeaway from this? Enjoy your iPhone 5. It's fine. It is very similar to the newly announced iPhone 5c and will probably be supported in software upgrades for another one to three years. But upgrade next September when the iPhone 6 comes out. If you don't, you're wasting subsidy dollars.