20% is my benchmark, I've been known to give more or less. One waitress in a Pa Texas Roadhouse tried to refuse her tip saying it was too much. She was exceptional..... and being really cute didn't hurt. The smile on her face when we left made it well worth it.

That being said I can be a prick too, no crushed red pepper or parmigiana cheese at an Italian place will do it and do NOT let my ice tea or beer run dry.
This was decades ago, but I had a friend in the Midwest, himself a line cook (like me, at the time) who refused to tip male wait staff. He and I used to go round-and-round over that. I will admit to tipping more to a female waiter - hey, I was in my 20s - but I always tipped a minimum of 10% to a male waiter. And let's face it: 1) most staff in those days were female, and 2) the males weren't all that good at it. Well, not at the Denny's-level placed I both worked and frequented.
My rule of thumb in those days was a dollar for breakfast, two for lunch, and three (or more for supper). Now it's a minimum of 20%. I also don't play that no tip game for bad service, though I did one time at a Marie Callendar's in California, of all places. I also went to the manager and explained to them why I wasn't leaving a tip. I'm pretty understanding; people have bad days. I spent a lot of years working in restaurants, holding down every position except bartender.
I've only had to do it once, maybe twice, but now I ask for a different waiter/waitress. I tell the manager "look, I worked in restaurants for a lot of years, including my grandmother's. People have bad days, and my current waiter/waitress appears to be having a bad day. I'd like someone else to wait on me." They've always been accommodating, but I hope to never have to do that again. I'm not afraid to do it, but it does stress me out.