I mean, that person actually got yelled at and had to leave the store. Some are more sensitive than others and just the fear of an unpleasant interaction is enough for some people. I've let small discrepancies slide just because the staff looked overworked and I didn't want to make them stop what they're doing, run down to the aisle and check prices and get their supervisor. For most I think it's just a time thing. It isn't worth a couple dollars to commit to an unpredictable amount of time going back and forth and waiting for a manager. I salute those lions like your MIL who stand their ground and fight back but there are also many, maybe most, who are just in a hurry or want to avoid confrontation.