"So why all the emphasis on making customers happy at all cost?"

Because customers are your most important asset, that's why. That's why they call it "customer service". As Jaez pointed out, you're not selling pickles - you're selling your service. You're building a relationship. The goal here - in every business, and I would assume it's especially important for grocery stores - is return business. Not today's sale, but tomorrow's and next week's and the coming year or two and the next five decades. You need to retain those customers, for they are by far your most important asset. Yes, even the ones who only buy a candy bar and a cup of coffee. If they do that every day, they will eventually make the shop some money. Maybe not millions of dollars, but it's going to add up to an amount that justifies your efforts to keep them happy. And if you don't, if you make them angry enough to stop shopping at your store, they won't just leave - they will take their friends with them.

There is a rule of thumb in all customer service industries, that a very happy customer will recommend you to 2-3 friends, but a very unhappy customer will complain about you to an average of 5 people. To be quite honest, I don't know where these figures came from, but after a fairly long stretch working at a company that completely dominated its market because of its superior customer service, I can vouch for the figures' relative accuracy. When people feel like they've been mistreated or screwed, they WILL bitch about it. Always. Humans have to "vent" when they get angry. It's your job as a customer service representative to make sure that by the time they leave your store, they have already vented sufficiently and are no longer a danger to your business.

Those angry customers who came back a week later despite dire threats are probably a sign that somebody in your store is doing this job adequately. Well done, guys, whoever you are.