Usually about 1-1.5 years. I had my first iPhone (the 3G) from January 2009 until June 2010; my second iPhone (the 3GS) from June 2010 to October 2011; and then my third iPhone (the 4S) from October 2011 until September 2012. Originally I had planned on keeping my 4S longer, but when I saw an available upgrade, wanted additional storage space and a bigger screen, plus my mom needed a phone pretty urgently, I went ahead and preordered the 5. I'll probably keep the 5 at least 1-2 years.
Oh, and I've never paid the retail/unsub price for any of these. And never would.