I'm into my 4th year with O2 and have no complaints with them whatsoever. When I joined them 4 years ago, I was on a 'special offer' tariff - for £20 a month I got 500 free texts, 500 off-peak minutes to landlines & other O2 mobiles and also 50 off-peak mins to any mobile. I upgraded again last May and after some haggling, I now only pay £9.95 a month but had to go on a different tariff..... 1000 off peak mins to landlines/other O2 mobiles and 1000 free texts only.
Also when I upgraded, I asked them to check back through my account as I thought that I was being charged for MMSs. It appears that I was and so my bills since upgrading have been these massive amounts May £9.95 - June £0.00 - July £0.00 - Aug £1.33 & Sept £6.59
When it was time for Andy to upgrade in June, he also got the £9.95 tariff but because he didn't want a new phone, they have given him £75 to offset against his bills.