As someone who currently works in the restaurant business, and has for the last 8 years I feel inclined to say a couple of things. I'm sure some of this has already been said, but just in case, this is my two cents.
In many parts of this country the minimum wage for tipped employees is far lower than the standard $7.25/HR. In the restaurant I currently work, front of house service staff is paid $2.13/HR. Most weeks the "paycheck" we receive is actually a negative dollar amount. Our hourly rate doesn't even cover the taxes we owe on a year to year basis. In April when many people are getting money back, we are trying to figure out how much we are going to have to pay in taxes.
Many anti-tipping people say that if that is the case then restaurant owners need to "stop being so cheap" and pay their staff more. Well that certainly sounds like a reasonable solution to this problem, except for one small fact. If every server was paid $7.25 or more, the owner would have to find alternative way to increase their revenue. What's the easiest way to do that you say? Well the most obvious way would be to raise prices for pretty much everything on the menu. Your $14 entree just became a $20 entree. That $7 martini, it's $9 now. At the end of the day, your meal will cost the same amount of money. You're tipping the server or covering more of the cost of the product, either way you're still spending enough money to help the restaurant make money, and maintain a good staff.
I try to give every single table A+ service. That is my goal every time I walk in the door. Some days, shit happens and i'm only able to give B+ service, but I assure you, I'm not trying to steal your money. If I haven't upheld my end of the agreement that we entered when you sat in my section I don't deserve your money. BUT if I have done everything you have asked and more, I expect you to honor the current system that this country has in place and leave me a tip of at least 15%.
The one other argument I hear quite often in these online tipping debates is that servers who don't like making 2.13 an hour should find a better job, or that working in a restaurant is an "unskilled" individuals job. Don't get me wrong, I'm not saying it takes a rocket scientist to wait tables, but I don't know a lot of stupid, untalented servers. I know a lot of college educated, talented, exceptional people that work in restaurants. I have also seen a million idiots try to do my job and fail miserably. Whether you think waiting tables is an honorable occupation should not effect the way you treat your server.
Is the system flawed? Maybe. But this is the country you choose to live in. There are a lot of things about this country that are great, and there are some things that suck. Unfortunately we all have to take the good with the bad. Sure you, as an individual, can fight the system, but if you don't want to tip well, don't expect good service. One thing that many servers have as one of their "skills" is a very good memory. We remember the people that take care of us, and we remember the ones that don't.