Everyone should just get into the habit of paying full price. Never agree to another contract then see how these carriers act.
Never going to happen. We're a country of instant-gratification, especially the younger generations. You tell use we can have something for $99 instead of $500, we're going to take the $99 every time.
Plus, unsubsidized phones are huge expenses -- $650 - $850 for the iPhone 5. Most people would gladly choose to pay more over the long haul in exchange for not putting down a huge pile of cash up-front.