Like others, I've worked in service so I'm inclined to be generous. In the UK wait staff get the same minimum wage as everyone else but it's diabolical; £5.93 (for over 21s) and in the UK we pay more back in income tax, council tax and national insurance contributions so our deductions are a lot more than in many other countries. In addition, meal breaks are unpaid and the legal minimums for down time over long shifts are ridiculous. If you work 6hrs you get no breaks. 6-12hrs you get between 20 and 40 minutes. Aside from the physical demands from the job, having such short breaks from people getting in your face and demanding things every 30secs makes the job very stressful.
Then there's the 'customer is always right' mentality. There are always going to be people who raise hell over petty mistakes because they want a refund or something for free. Sadly, the deeper the global recession gets, the more asshole customers there are. People will find fault with anything these days. People have less money with which to eat out and so they get miserly with it, bitching about every item on their receipt and leaving tips that require a microscope to locate on the table. I have seen people getting positively gleeful about poor service or incorrect food, because suddenly they have a legitimate reason to summon a manager and demand that items be removed from their bill.
I think that good service should be rewarded and that bad service should be taken in context. If a place is packed and a server is clearly overwhelmed, the fault lies with the management for not ensuring there are enough staff. I also know from experience that it only takes one person to call in sick on a busy day to screw an entire shift over, resulting in multiple refunds/complaints and fewer tips for staff that are already in fact working above and beyond but are simply too short-handed to make you feel special.
Mistakes with food orders are just as likely to be the kitchen staff's fault as the server's, so discretion should be used when complaining. Poorly prepared or cold food is not your waiter's fault, unless they've really been dragging their feet. Company policy regarding what a waiter can and cannot do in order to rectify things is also not their fault. If you're still not happy, grow some stones and ask for a manager, don't just stand there berating the poor person at the bottom of the totem pole because you know they have to be polite and it makes you feel vindicated.
Also, in the UK when paying buy card there is often an option to add a gratuity to the transaction. This should be avoided because employers then charge a 'handling fee' and help themselves to a percentage of their wait staff's tips. In some places the staff never see the money. It either goes towards their minimum wage or gets set aside compulsorily for things like a party at Christmas or other non-monetary ways of ripping them off.
Tipping is kind of strange here in Blighty. Nobody tips in bars, clubs or places that are self-serve, regardless of how many people are running around clearing. In restaurants the standard is 10-15%. People's views on tipping can be quite diverse as wait staff do get the same minimum wage as everyone else. Some people will tip 20% and others will only leave pocket change. People are more arbitrary about poor service here, as might be expected but there's less emphasis on rewarding exceptional service, other than with future custom. Service industries here are rather lacklustre compared with the states (with my own visits to NYC and LA anyway) and also compared with the continent, where service professions have less of a stigma and waiters are paid better and treated with more respect.