I find tipping a real chore. If done right, the diner evaluates the quality of service he received from the restaurant and decides how much he wishes to leave to the waiter, on top of the price of the meal.
In USA, a tip of 15-20% is customary for good to great service, 10-15% is common for poor service and 20% and up for excellent service. In some countries, it is customary to round up to the nearest 10 (or 50 for a meal costing 47).
The economics of tipping is quite simple. Earlier, the price listed on the menu would include the full cost of the service staff. With tipping, restaurant staff have 2 compensation components - A low base salary and a variable pay coming from the tips. Thus, restaurant owners can bring down their list price, and incentivize the staff to offer better service in order to earn the tips. As long as the restaurant patrons leave the right tips, the system works.
In some countries like China and Japan, tipping is very uncommon, and sometimes even considered rude, at restaurants. Tipping is discouraged and explicitly included in the bill as a service charge. For instance, in Singapore, your bill includes a fixed 10% premium. Thus, as a customer you no longer need to remember what are the tipping norms. You just pay what the final bill says.
Though I like the simplicity and convenience of Service charge, it may not be the most efficient. And I can see how this system can break down. Tipping gives waiters an incentive to serve the customers better. Quite often, even in the best restaurants here in Singapore, the waiters are impatient, often forget the orders and sometimes even forget to greet the customers.
But then misinformed or stingy customers could exploit the system by leaving small or even no tips for the waiters.
So which is better? The best solution is probably a combination of service charge and Tips. The Tip incents waiters to serve the customers better. And a base service charge makes sure customers don't misuse the system. Do you have a better solution? Do leave your comments. Enjoy dining!