My friend couldn't get a signal either, and when the support people at his provider (forgot which one) said that he would have to pay a fee to get out of the contract, he said, "Okay, no big deal." The next thing the customer service rep did was beg my friend to stay. They offered him a free new phone to see if the signal would be better. That phone was quite nice, but didn't pick up a (good enough) signal. Then he was allowed to pick any phone he wanted, even one of the very good ones, without paying a dime. They said the signal would probably be better if he used one of the expensive ones. He agreed.
So he took the offer, got a kick ass phone, and then phoned in and quit his contract with 2 brand new phones. He ended up selling the decent phone on ebay and got $200 for it. He kept the great phone for himself. He paid the cancellation fee with the money he made off eBay. Sweeeeet. 😀
These guys all want to keep you as a customer, plain and simple. It's better if you stay on contract, because most people who are with a company never bother switching providers if they're happy. They make more money from you long-term.