Because they are actually quite expensive for the things I buy, especially for the quality you get.
I did a comparison shop last week when I was bored and because this sort of thing interests me
Four of us, two adults, two children 6 and 2. Shopping for one week-mostly meat, fresh veg, nappies, cleaning products, wine. No brand names, own brand products or equivalents. Tesco own brand aren't as good as Sainsburys own brand so I had to scale up there. I menu/meal plan some of the meals, otherwise I go with offers/Bogoffs.
Sainsburys online delivery £74.93
Tesco online delivery £79.14
Aldi-£19; Butchers-£9; Fruit market/grocers-£11; Savers/Poundland-£7 - Total £46
So for me they are not a cheaper supermarket. I also don't think the quality of their meat/fresh produce or own brand are good at all, Sainsburys are much better and are still cheap enough to make me want to visit there occasionally for store cupboard stuff.