How often do you upgrade & why?

I'm curious to know how often do most people upgrade their phone, and why?

In the past two years my upgrade cycle has been HTC SENSATION > HTC EVO 3D (Such a fail) >Galaxy Nexus > Galaxy S3> HTC ONE

I went from Tmo > Sprint > Verizon > Att> Tmo.

I plan on my HTC ONE being the first phone I keep for at least a year and a few months. But then I remembered that the new Nexus will be out in November and should launch with KLP.... I can only imagine how beautiful both the hardware and OS will be. Or should I wait for the next HTC Release. Out off all my phones I've gotten the most fulfillment out of my HTC devices, save for that ratchet EVO 3D.

I upgrade mostly for hardware. Jelly bean leaves little to be desired. I was really over the hardware and screen and home button on that GS3 And I really missed HTC.

What about you guys. How often do you upgrade and why?