The store gets to look kind and generous but surly they don’t take it out of their profit but just adjust their pricing accordingly, ie regular price goes up a bit to balance out the few who will pay less.
Same with x % goes to charity - sounds nice but realistically it is the customer paying for it.