In my experience places like Pizza Hut or Papa John's would comp the whole order (or give you credit for next time) rather than have a driver have to come back with the missing or corrected item. In my opinion this is the only good solution to the problem. The customer has placed an order for a meal and if any part of that meal is missing or incorrect then that is not the meal he ordered or wanted. Merely not charging him for the part that got fucked up is not remotely adequate. You've ruined his meal. Would you spit in his food and then offer not to charge for the bit you spat in?
That might sound excessive but I really believe a missing item ruins the whole thing. When I order a meal I take ages and get everything just the way I want it and by the time the food arrives I'm actually excited because my super awesome meal is here. If so much as a dipping cup is missing then it's not my super awesome meal anymore. It may as well be a pile of shit. My excitement vanishes. The magic is gone. Is that childish? Maybe. But we all need a little self-indulgence from time to time to get us through.
People who have never been poor might not get this so much but ordering something like pizza can be an amazing treat that brings a moment of real joy. When you fuck up their order you're not just mildly inconveniencing them. You're putting another nail in the coffin of their soul.
I believe that good customer service is something of an ethical responsibility but ignoring that it's also just good business. Customers have options. Nowhere is this more true than hospitality/food service. If you want to succeed in this area you have to constantly be looking for ways to make your customers happy. Every time you fuck up (and you will, it's only human) you can view your mistake as a problem that needs solving (back to the store for a missing item) or an opportunity to show your customers how awesome you are thereby ensuring continued repeat business and good word of mouth. I know which I'd pick every time. When I worked in hospitality I used to love dealing with minor complaints because it was an opportunity to really make someone's day by responding positively and freely offering more than they would have expected to receive. I received so much positive feedback for doing this. It was great for the business, great for the customer and great for my soul. Contrast that to some of my more negative co-workers who would look for any opportunity to screw over a customer and save the business a dime. They tended to be miserable fucking beings who wanted nothing more than to spread their misery. They might technically excel at their jobs but somehow they never got promoted...
Full comp/credit is best solution for both the customer and the business.
“Today a young man on acid realized that all matter is merely energy condensed to a slow vibration, that we are all one consciousness experiencing itself subjectively, there is no such thing as death, life is only a dream, and we are the imagination of ourselves.” – Bill Hicks