To pay $500 for a phone, versus the $100 subsidized price, is a silly move—especially if you're planning to upgrade every 2-3 years.
I say this because the service from the carriers still costs the same regardless of how you obtained the handset, and in some cases you may be paying even _more_ for service if you don't have a contract.
(Of course, I'm speaking with the US/Canadian carriers in mind. I know things are better outside of North America.)