Go for O2.
I'm on O2, if I top up £10 a month I'll get 300 free texts. You can choose between receiving free texts or free minutes.
Every quarter, or every 3 months you get 10% of what you've topped up in that period back.
I.e. if I've topped up say £50 in that period, I'm likely to get £5 back if I claim. It might not seem like much but it's a good incentive. O2 text you to tell you when you can claim so it's not down to you to remember, they remind you.
O2 are good at keeping the other companies at bay. On many occasions I've been contacted by 3 and asked how much I spend a month on my phone. When you tell them you top up £10 a month, they say "Are you on O2?". When you tell them you are, they just apologise for calling because they know they can't beat it.