I've been with Virgin for years and years. They always have decent sign up offers and then try and put the price up massively when your initial contract runs out in the hope you'll just accept it.
The key thing is to just cancel it each year. When you call initially you speak to an overseas call centre and they'll offer a small discount, I always just say I'm not prepared for my bill to increase more than what the current rate of inflation is, which usually works out to about 2 quid a month more or whatever. They'll offer you a small discount but it'll never come close to what you had been paying, so they'll cancel it and say your services will be turned off in 14 days or whatever it is.
Without fail for probably the last 10 years, I've then received another call a few days later from a UK call centre who basically offer exactly what I've got and sometimes even more for the same price or less. I think it's because once the cancellation has actually gone through, they know that if they don't offer you a very good price you are leaving, and they'd probably rather you stay a customer on their books even if they are only making 10p a month on your or something.
From memory they tried to charge me about £150 a month the last time, ended up getting it for £79 a month, and they added Sky movies and an unlimited internet, texts and calls SIM card on top, so I could cancel my existing SIM card. I already had the fastest internet, all the sports channels (BT and Sky) and all the other channels in HD, plus a landline.