Generally speaking more expensive restaurants have better trained and more experienced servers that are more attentive hence deserving in a better tip. The percentage is really just a hack as a rough estimate of how much work a server had to do. While not always true a meal costing $100 will probably require more work from a server then a meal costing $50.