Xirc you are write on point .
But, I can't speak for other companies but I can speak about ATTWS. If it is a known technical issue and it was going on for more than a month and service went down hill because of it, ATTWS will let you out of your contract, if you speak to a good CS Rep. When I speak to the new hires at the company I always end my speech with "I would rather the customer be happy with someone else than unhappy with me"
Meaning, If our customer is unhappy about a service issue that cannot be fixed immediatley and the customer counts on his/her service, I would rather the customer cancel service without penalty and go to someone who could provide the service that the customer needs. Instead of forcing the customer to "honor" their contracts with sub-par service and having the customer mad. At least with the first option the customer might come back, with the second option the customer will never come back.
As far as no contracts is concerned get pre-paid service, and you are free to switch services as much as you like.
Never make the same mistake twice. Make a new one!