Wow, some of people are cheapskates.
Here are my 10 Rules for Tipping:
1. However you tip, be consistent in how you figure your tip. (As for tipping based on pre-tax or post-tax totals - I know a lot of people say to tip pre-tax, but I tip post-tax. That's just me.)
2. When you tip, your are tipping for the service you received - consider only your tip, not the other patrons' tips. Most places either do not share tips or share a relatively small portion of their tips - see dwarrior's earlier post.
3. Tip your waiter. Your tip is not for the kitchen or the bus staff. Your tip is purely for the wait staff, specifically the wait service. The price on the menu is for the rest of the staff.
4. Tip according to how well they did their job. The server's (waiter's, waitresses') job is to take your order, brink you drinks, bring you food, and make sure that you have what you need to enjoy the meal. If you have a problem and you do not inform your server, then that is your problem and not their problem. It should not affect your tip. Neither should the condition of your food, with the exception of all the food at your table being cold. Even that should be brought to the attention of your server. If your burger/steak/whatever is over-cooked or under-cooked then that is not your server's fault. You should bring it to their attention and they will do what they can to fix it. If they can't, then a manager should be able to. As long as the server does what they can to fix the problem, then that problem should not affect your tip.
5. Don't be a cheapskate. In my opinion, the minimum tip for acceptable service should be 15% or $2.00 per person at the table, including children, whichever is greater.
6. Be prepared to tip big. You should tip at least 25% for great service. Some say 20%. As a former server, I say 25%. You should also factor in a great-service tip when considering where to eat or what to order. If leaving a $10 tip on a $40 order for two people seems too much to you, then eat at a cheaper restaurant.
7. Be prepared for a big bill. Your tip % schedule should not go down the more expensive the restaurant. However, it is fine to raise your expectations. If a place averages $20 an entree then they should have better servers than the restaurant that averages $10 an entree. What is good and great service at a cheaper restaurant may be only acceptable and good service at a more expensive restaurant, respectively. Again, if you don't want to leave a $25 tip on a $100 order even if you get great service, then eat at a cheaper place.
8. Keep an eye on the clock. There is an "x" factor with regards to your tipping: time. While time should not significantly decrease your tip, it is possible that it should greatly increase your tip. Servers don't make a lot of money at a table. And they can only serve so many tables at a time. For the server, time is most definitely money. The longer you spend at a table, the higher your tip percentage should be. Some people eat slow, some people eat fast. However, as a general rule, it shouldn't take you more than half an hour to eat your food after it arrives. Add another 15 minutes if you then order dessert. If you spend longer than that at a table, you should tip more. If spend another 45 minutes at a table sitting and chatting, and your server continues to serve you even if it is just refilling drinks, then you should probably double your tip. It doesn't matter whether or not there are empty tables nearby. When it is slow, the patrons get divided up among the wait staff, and your server may only have one table. As long as your are sitting there, then you are that one table. A server typically wants to average one hour or less per table. If you sat there for two hours, then you just took up two tables worth as far as the server is concerned, unless it took you an hour to get your food. At that point, your issue should be with the kitchen and the manager, not the server.
9. Be realistic about your expectations. If a server is courteous, comes around to the table often enough to address any needs or issues you have and takes care of them quickly, never leaves your drink empty for more than a minute or two, and takes the time to answer your questions without making it feel like a hassle then that is great service.
10. When in doubt: over-tip.