But it's not. If you think about it as paying for labor, it makes more sense.
But that doesn't make a lot of sense, either. If you're paying for labor, well, it doesn't require much more labor to deliver a $100-a-plate meal to someone vs. a $10-a-plate meal, yet you're expected to pay an amount proportionate to the cost of the bill.
If it's really about paying for labor, then I should figure up how much waiting tables is reasonably worth on a per-hour basis, ballpark how much time the server spent serving me (counting times they had to go to the back and get something for me, of course), and offer up that amount as the tip. Let's say I think waiting on me is worth $12 an hour (which is pretty generous, I think) and you spent 15 minutes in total waiting on me while I was there. You should be tipped $3 regardless of how much the meal was, no?
This is the disconnect I don't get. Why should the price of the meal have any relationship with how much I tip, if tipping is about the quality and quantity of the table service and not the food?