I won't tip at all at fast food restaurants where I order from a counter and bus my own table.
I will tip more than 20% at cheaper restaurants like IHOP or Denney's, especially if I think the service is comparable to a more expensive restaurant.
At more expensive restaurants, if I get decent service, I will tip about 20%. If I get exceptional service, I might tip a bit more.
There is one other time I will tip a lot more than 20% - this is when I am with a group in a restaurant and we are sitting at the table longer than it takes to eat and then leave. Waiters make their money in tips in turning tables, and if I'm not letting them turn that table, I'm eating into their profits for the night. So, I make sure I tip to compensate for that.