I had a HTC Rezound, when verizion had that buy one get one free on the droid razr, I was trying to upgrade my main line for $99, but my other phone wasn't eligible for an upgrade yet, so they refused to give me the second one free. They'll let me upgrade my main line for $99 but wanted me to pay $700 for my free razr for the other line. So I said fuck it, and when my contract ends in October, I'm going elsewhere.
I've been using Verizon for 10 years now, and my experience with Verizon is they're very shitty with their customers, they'll be nice to get you to sign the contract, but after that they don't give a shit about you. I never changed because I wanted to keep my number, but that's not a problem anymore.
I'm not sure but I think T-Mobile let's you upgrade to any phone yearly.