18% is actually the standard for dining, though most people round to 20%. I usually start at 20% and go up based on the experience. Rarely do I go lower, as I worked in the service industry forever until my business took off.
Honestly, I've never really had a mean waiter/waitress. Maybe a bit neglecting. Conversely, I've regularly dealt with mean employees in retail places, grocery stores, etc.
Tipping works. People b**** about it, but imgine dropping $150 on a dinner for you and your wife, and the person that's serving it to you makes around min wage. You'd get **** service.
The tipping procedure keeps service people on their toes, plain and simple. (As a rule.) It also allows restaurants to stay in business. They work on a VERY small profit margin. If they had to pay their wait and bar-staff double, they'd be going under at an even faster rate than they already are.
That's why I sort of laugh when I see a tip jar at a Starbucks or something.
First off, those chains operate at a mind-boggling profit margin. They can afford to pay wages, while restaurants can't. Second, if you've worked in both environments, you realize that waiting/bartending for most places is a highly skilled, and difficult job... increasingly with upper-scale establishments, of course. Nothing against the kids making some extra cash, but it's not really in line with the overall concept of tipping, imo.