I've posted this before, but it bears repeating. A little background first: at 15 I was a hostess at a restruant, at 18 a server, at 21 a manager, at 25 a restraunt consultant, 3 years ago I switched to full time mommy, but I still do some side work and event planning here and there. In all but 7 states, servers only make $2.13 an hour and generally have to tip out greeters & food runners & expo & bartenders & backwait & buss staff--even when not used. I've seen tip out to be on average of 3% of sales (even if no tips) or up to 30% of what is made. In my career, I've attended a lot of conferences & conventions. I worked for very big name companies, leaders in the industry, not mom-n-pop shops--not that there is anything wrong with mom-n-pop places. Oh, and for that $2.13 an hour, they often have responsibilities within the restruant--a famous motto is "If you got time to lean, you've got time to clean". And these aren't just the things you see. They have to keep supplies stocked in addition to cleaning up those crakcers on the floor, fan blades need to be dusted, etc., etc. And, NO, tips aren't tax free. By federal law, the restruant is to report a 100% of credit card tips and on checks were no credit card tip is left or cash is paid it's an automatic percentage (varies by state, average is 10%-15%) that is assumed you are tipped (even when stiffed) and reported. So servers still pay taxes on tips (INCOME) they may not receive.
Basic service is typically 15%. Good service is typically 20%. Service Way above and beyond or "camping" (hanging out at a table longer than usual turn over), big messes on the floor/table from small children (or others) deserves 20%+. At lunch, if your total tip equals less than $1 per person per hour move it up to $1 per person per hour (even if not eating).! However, buffet service changes things. Typically the tip for buffet, since the patrons are doing 90% of the work, is 10% (partly because they have 2x-3x the amount of tables also). And that is at a *buffet restruant*, not where you can get a buffet and order off the regular menu. Under those circumstances, normal tipping rules apply. Then, if you ever get any type of discount/comp (coupon, something taken off the bill, something for free, etc), You tip on the amount of the bill BEFORE the discount/comp!!! Or what the bill should have been if everything was charged for. Even if it was because of bad food. If the whole meal was free, you should tip even more than 20%.
Also remember that a lot of screw ups with food can be the KITCHENS fault and not the servers. The server can put in the order correctly and the cooks can ignore it. Or food runners run out the wrong dish. Yes, someone else may have order the same dish as you at the same time in a different way; it's very common. When something does come out incorrectly, speak up IMMEDIATELY. A good server will do a check-back within two bites to two minutes. Don't say everything is fine if it isn't. Even if your order wasn't screwed up, you just don't like it, SPEAK UP!! That is the only way a restruant can do anything for you--get you something else, take it off your bill, fix what is wrong. If you wait until the end, there frequently isn't anything that can be done. You need to judge your server by his/her reaction and not the actual mistake/problem in those cases. Also, don't expect servers to read your mind--most don't have that skill. If you need extra of something, ask. If you have a question (what they recommend, for example, ask). A good server is available to you (but isn't hovering).
That being said, buffet or not, we start our tips at 20% and work down for exteremly horrible, rotten service and go up for good to exceptionally wonderful service. I've tipped 50% before. And I've only been tempted once to stiff (Crystal Palace in MK).