How come companies can change contract agreements when they want to but you get charged for breaking them?
giffgaff have just changed their goodybags so I've now got to pay £3 more a month for the package. That isn't a fixed term contract, so seems decent enough and their level of consultancy about it has been very fair (see also Netflix increasing prices per month but allowing you to leave whenever you like).
However, in recent months I've had letters from companies I'm tied into 18-24 month contracts with saying that they're upping the price but that if I want to leave, it'll cost me (Virgin Broadband, o2, British Gas etc). How come they can do this?