Depends on the store / product, IMO.
If its a store / product that's making a ton of profit off of you, then I expect better customer service. For example, when you break an Orvis fishing rod, they will replace it for free. Why? Because they're making an insane amount of profit based solely on the name. Same goes for upscale sunglasses. I expect companies like this to do whatever it takes to keep you as a sucker that buys their overpriced wares.
I do not expect a company like Kohls/Walmart/etc to take an additional loss on any sale because its assumed they dont have as much profit built into the price. The pillow mfg may be making a nice profit on the product, but it wasnt their fault, and Kohl's is probably not making much more on this than they do any other item.
This surprises me if this is most people's reactions.
My whole thought process is if I'm paying you for a service, and you don't provide that service correctly,
you should fix the problem with a discount. It just makes sense to me to do that. You promised something and you did not fulfill your promise. What if I was ordering for a birthday gift? And the error caused the gift not to be delivered in time. As a customer, I put my faith in your services. And you failed to meet your expected goal.
I have to say, I had no idea people were on the other side of this. It seems odd to me, but I guess I'm not in the majority?