Well I've only been with Android for a little over a year. After 1 year I got my 2nd phone, but that wasn't really the plan. I planned to keep my 1st phone for the full 2 year contract, but it just kinda happened. (If you want to know how, I put the long verson below). With the ability to root and flash, I feel like you can really extend the life of these phones, so in general I'll probably keep phones for the duration of the 2-year contracts.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The long version...
Signed a contract July of 2011 for the Evo 3D. I planned to hold on to it for the full 2 year contract. But in June of 2012 (11 months) the digitizer started to fail. Sprint ordered me a replacement (a referb), but the replacement was bad too. It could get voice signal but no data. So they ordered a 2nd replacement, but they sent me the wrong phone (a "dumb"phone). There were about to order a 3rd replacement which would have been on backorder for a week, so the manager offered me a free phone off the shelf. So after 1 year with my Evo 3D, I got a Sprint GNex for free without having to use an upgrade. I was getting pretty fed up during the whole process, but when they offered me that GNex, it made it all better.