I have never worked as a waiter but I have friends and relatives in the food service industry so I generally try to treat people at restaurants a little better than I would and give them a lot more slack than I would other service industry job workers.
That being said, if you order a burger and the waitress serves you a chicken salad sandwich, I do not think it is inappropriate to expect her to take it back and get me my burger. There is just some level of service that I expect.
I always tip 20% or more, also, regardless of quality of service. Or if the service is exceptionally, dare I say INTENTIONALLY bad, then I will not tip at all. In poker you shouldn't vary your pre-flop bets based on the quality of your hole cards - and in dining you shouldn't really vary your tip based on service. It's 20% or nothing from me.
Having said that, I've only not left a tip twice in my life (and I eat out a few times a week).
Once the waitress just LEFT before we received our food. The other waitresses (both of them) told us that we were not their table and wouldn't get us anything (they had a runner bring the food out, and eventually we had to have the runner get us drinks, katsup, etc - and we tipped the runner on the sly on the way out). We never went back to that place.
Another time was an exceptionally unpleasant waitress at Ruby Tuesdays who went out of her way to make our dining experience as miserable as possible - wrong food, undercooked ribs with no sauce on them (I suppose many would blame the cook, but ultimately it is the waitresses's responsibility to serve me the food - she should have refused to bring that out to me), no drinks, one in our party had no silverware, etc. When asked for mustard for a hamburger instead of saying "Okay, I'll be right back with the mustard" she said "What do you need mustard for?" If we didn't give her a good answer would she have not brought it? Then after our food was served we never saw her again - well, at least not at our table - she was talking to two other waitresses all night two booths away.
Otherwise, I generally get pretty good service when going out.
Also, I have noticed that I tend to get a lot better service from attractive people - men or women - which I think has to do with their self-esteem being high and thus means that they hold themselves to a higher standard.