O2's coverage is great, it should be with the super low frequencies but they have no capacity when its comes to data... specially in area with large population.
When I lived in Birmingham there was parts like where I lived where O2 had best coverage but the lack of capacity in the 900mhz and 800mhz 4G frequency got swallowed up way too easily.
This lead to many issues with the network not responding.
Just like 3, they've under spent on their infrastructure and oversold on it too.
I suppose I'm just more a fan of quality calls and fast reliable data that I get through EE.