If I remember correctly, the origins of Tesco's policy in Ireland was that RGDATA (I think) which represents small local shops, went into a number of big supermarkets and had a field day of bad publicity for the major multiples, when they were overcharged for some items.
In response, Tesco brought in a policy that if you were overcharged for a product, you were entitled to it for free, without quibble. Dunnes & Superquinn also had this policy.
Given the number of mistakes, I wouldn't be surprised to see a huge surge in Tesco's profits if they stop this policy. I mean, who in their right mind (well okay, maybe oddballs like me, just making a point) is going to queue up at the customer service desk, behind the people looking to buy lotto tickets, cigarettes, cash cheques and when there is a queue on the other checkouts, have less than 3 items in their basket, just to inform the shop that they had been overcharged by an amount less that a Euro. Life is too short.
Because the mistake hasn't been brought to their attention in the first place, they will continue overcharging on these items ad infinitum, all the time adding to their bottom line.
Murt