I always hear a lot of people say "I used to work in a restaurant, therefore I try and tip high, because I know what it's like." I am the complete opposite of that. Not saying that philosophy is bad, because it's not.
But, my dad has owned (and owns currently) many restaurants, at which I've worked pretty much every job except cook. So I'd like to think I know a thing or two about waiting tables, and know what goes into it. It can be tough. But some things are inexcusable.
Therefore, I tip on how I think you did. Sure, I'll use a % as a base. For example, if 5 bucks is in the 15-20% range, I start there. Now, if you have 20 tables and your place is packed, I'll cut you some slack. But if I'm your only table yet you still find a way to not get my order right, you're going to get dinged. I will put you down to 4 if I'm really unhappy, or 6 or 7 if I thought yu did a good job.
The problem I have seen with many servers is that they have the attitude that they'll get the tip either way, so who cares. Not saying that's everybody, but a lot do, at least the ones my dad has employed at various times. So for me, I give them what I think they earned.
As for bars, it's tough. For example, when I went to DU, the two campus bars (The Stadium & The Border) usually got big tips from me, because when those places are packed, you want the bartenders to recognize you. At The Stadium, for example, I was on a first name basis with all of them. And it paid off when I'd come up to the bar, yell hello, and they'd get me my drink right away.
Now, just a normal bar, I usually try and tip well, partly because I'm hammered. I don't do the "tip a dollar for every drink" thing, but I try to hook the bartenders up, especially if I'm going to have to come back to the bar constantly. If I have waitservice at a table, I'll just open a tab and tip something decent at the end of the night. I usually overtip when it's last call because I'm hammered.