It is a simple matter of what is meaningful.
If a waiter (in the US at least) waits on you, whatever the tab, whatever you do or do not get, anything under $3 is meaningless. You took up a spot, whether they were busy or not, they had to get you things, whether it was a glass of water or a peking duck.
On a huge check, 15% is a meaningful amount of $, so % is ok.
On a $3 sandwich and a glass of water, 15% is an insulting, meaningless amount of money.
If you want to tip a meaningless amount, buy a sixer and go home, or eat at Mcdonalds.
If you enter a sit down place with bartenders or waitstaff, tip an amount that is worth your server's time.
That wasn't my point though.
My point was: The server took care of you, so take care of them so that they remember you as an appreciative good tipper. This, in the end benefits you, not them.....well, it benefits them too, but since you may or may not care, the tangible benefit is to you.