Well, I've still got about 14 months left before I'm eligible for an upgrade, and I'm too cheap to pay full price for a new phone.
But even if I wasn't under contract, I'd probably keep my S3 for now. I've got it rooted and ROMed to suit me, and if I get bored I can re-theme my current ROM, or switch to a different one. I've even got access to some Sense apks that will run on the S3 if I really want to change things up. I checked out both the One and the S4 late last month, and honestly didn't see enough advancement to make it worth the switch. It's not like either phone will read my mind, or has voice recognition that is dramatically improved over the S3, or anything else that seemed like a major improvement to me. Both still run the same apps that my S3 does. Some of the S4 features are neat, but nothing that would really improve my life, and others I know I'd never use. Some of the htc features are nice, but I like having an SD card (which they're apparently now including for the Chinese version - WTF?), and I'd miss some of the Samsung tricks my S3 has.
With most consumer products, I find there isn't really enough advancement from one generation to the next to make it worth upgrading. Skipping a generation provide a much bigger bang for the buck. So I'll be looking at the Galaxy S5, or htc Two (that's awkward....what will htc call their follow-up?), or iPhone 6 (if Apple decides to reinvent the product) or whatever else offers me a real improvement in functionality next year.