Ooh, this was a tough one. I first started out on Virgin and I was with them for quite a long time. They definitley improved their network very quickly - I remember being able to use practically everywhere, even where my friends on Orange and Vodafone couldn't, and when I couldn't neither could they anyway. And like other people have said, they have first class customer service - I loved speaking to them and they always sorted out any questions within 1 or 2 minutes. I only left because I was spending too much, and although Virgin had the nice incentives like 'Flash Your Mobile' and '10% Back' I decided to leave and go to o2.
I'm not as happy as I was with Virgin, but I'm saving a lot of money now on o2 pay monthly (around £30 a month). For texts I don't think o2 can be beaten - they just give them away! My friends have had problems and had to get in touch with their customer service and they haven't been very helpful. Fingers crossed I don't have any problems!
I've had many friends and family on a few of the other networks, and I've dealt with some of their customer service departments myself - I've even worked for one. Orange are expensive and have poor customer service, Vodafone are the same and 3, poor customer service and very poor network. In many cities there are unavoidable blackspots where the coverage just completely disappears. I'd expect it in parts of the countryside, which it does for all networks, but not in areas of high population. Tesco Mobile are just a rip off in my eyes when compared to Virgin.
I guess in the end it's what the individual wants - reliability, convenience or just brand. There was a lot of stigma about being on Virgin when I was a customer, but it is by far the better PAYG service, then o2's PAYG Online second for all the texts on offer. On pay monthly I'd have to say o2 for texts, or Vodafone for calls, although you may have a problem yourself should a problem arise.