GiffGaff is pretty good value generally and the ability to change tariffs regularly is very useful for some. I find it particularly good for the kids' phones.
I also bought by Galaxy S7 from GiffGaff. Their phones are unlocked and run stock firmware - I noticed that every month or so, they dropped the price by quite a bit for a few days, so snapped one up cheaper than I could get anywhere else - all you need is to have a GiffGaff account (which I did for the kids' phones); you don't need to subsequently use the phone on GiffGaff.
One downside is that GiffGaff get the lowest level of access to the O2 network for data, so if the cell you are on is congested, O2 users and Tesco Mobile users get a greater share of the available bandwidth.
Most of the time this isn't a problem, but when it IS a problem in a congested area, it can be quite a big one (to the extent that it feels like you're on a dial-up modem).
Just something to be aware of as there is always a downside!
I am currently on EE, even though there is no EE signal at home (the only one that vaguely works is Vodafone, who are very expensive). Instead, I use WiFi Calling (on the S7 I bought from GiffGaff - on the S7, EE WiFi calling works on an unlocked phone, unlike with Vodafone). WiFi calling generally works pretty well (there are occasional problems with inbound calls which I believe are down to a small software bug on the phone related to power saving - hopefully will get fixed).