I’ve had a contract with O2 for 4 years, but unfortunately was forced to cancel it last week due to their poor service and lack of stock.
I upgraded online to an iPhone 6S, which was supposed to be brand new but arrive with a scratch and malfunctioned within two weeks. I took this to an O2 guru, who confirmed the problem was an unavoidable software issue that he couldn’t fix. However, he also couldn’t offer me a replacement as I’d not brought it from the store. I was then told by the helpline that I had to wait 6 weeks for a new phone - yet I was still expected to pay the contract?! Or upgrade to a more expensive version. I had no option but to cancel the contract and return the phone. I requested I be notified by email when the phone had been received, but this also never happened and I had to ring up again, wait on hold and enquire myself. Overall it took me two weeks to get O2 to confirm they had received the phone.
Overall a very poor experience. I have since taken out a new contract with another phone provider, it turned out to be a blessing in disguise as I’m saving £9 a month from what O2 wanted to charge me! Wish I’d switched earlier.