In reply to Fraser:
Vodafone has the best overall coverage, but their data service is slow.
Talkmobile has the same coverage as Vodafone, and contracts are often very cheap, but they're notorious for hidden costs.
Where Three works, it's excellent with (often) unlimited data and 4G at no extra cost. However, coverage in mountain and rural areas is extremely poor.
EE is very expensive and 4G is still unreliable in many areas.
O2 has extremely poor customer service and a congested data service.
Giffgaff is cheap but not worth considering. Their service is unreliable and customer service almost nonexistent.
(Source for the above: two years working for Carphone Warehouse. All the networks have major drawbacks and I never met a customer who was 100% satisfied with their service, but I think Vodafone is the best overall.)
P.S. Most people who disagree with their networks end up doing so because they don't read their contracts before signing them. If you think the network "isn't holding up their end of the deal", they are almost always acting within the legal boundaries of the contract you signed. Basically it's your fault for not reading the small print. Yes, this is unfair, but ALL the networks do this and there's nothing you can do about it if you want a phone contract.
Post edited at 15:21