Waiters, however, actually provide a consistent service, whereas at Wal-mart you are doing the shopping yourself. Wal-mart has many different workers doing different things, and not all encounter customers, or deal with many customers, so again the tipping thing would not work there.
Everyone could not tip their waiters, and the restaurant would have to make up the difference so the waiter gets minimum wage. You know who would work a waiting job for minimum wage? Nobody that was any good at it. That job is tough and demanding and is not worth only minimum wage.