The difference is often 5-8p nowadays. I cant see how supermarkets can undercut branded fuels by that much if they are selling same quality fuel.
Because the people buying fuel are also quite likely to buy an overpriced sandwich or bag of sweets, etc.
People will usually go to a nearby supermarket that they perceive to be cheapest. Petrol is pretty much the only comparable product price you see before going in, so can be treated as a loss leader.