I have never not tipped. I typically tip 20-25%, depending on how lazy I want to be with the math (also usually based on how much wine I've had).
I have only one time gotten what I consider truly rude, awful service. That was when a waitress apparently had a problem with the fact that one of our party was an Arab. She kept giving him dirty looks, like he'd done something to her, only he's about the nicest, coolest person I know, so it definitely wasn't him causing the problem. She was just horrible from the beginning of the meal to the end, from the very first word she said to us. We actually had a pretty good laugh at it, and nicknamed her "Joy" because she clearly had none. Still tipped her 20%, because Joy has to make a living, too. Probably should have talked to the manager, but... meh. It's not worth getting her fired. Maybe she was just having an awful night.
Oddly enough, years later we went to the same restaurant, and one of our party decided to be Mr. Complainer and embarrassed the entire table to the point where we just about pushed the manager away, telling him everything was fine and not to worry, and we almost forcibly dragged our complainer dinner guest out of there. I think we even paid for his portion of the meal, which was quite good. This was an anniversary party for a couple in our group, too. Just utterly awful.