The most frustrating example of this we have witnessed was by an American company who are a major Content Delivery Network service provider. Our client signed up to an annual contract with the company with monthly payments and a minimal bandwidth usage commitment.
After some months of use the client site was not close to using the bandwidth the provider had suggested they subscribe to, but they were not allowed to reduce this cost as it was agreed for 12-months. They put it down to a lesson learned and decided to reduce it at the end of the period.
During this time, we found other providers who could supply a similar service at a lower price with no commitment. It was decided that they would cancel their existing service and save a substantial amount of money.
However, one month before the renewal when the client contacted the provider to request cancellation – they were told cancellation was not possible. The reason being that they needed to give three months notification before the renewal date!
There are of course instances where this type of contract makes sense; the provider has to make an annual commitment to an upstream provider for example. But in our experience, this is extremely rare in this industry. In this example, there were no obvious reasons for restrictions as setup costs were minimal and it was a self-managed service.