First of all, tipping is not required.
At restaurants, I usually don't tip at all if the service is average or crappy, but then I tip rather generously (10-15%) if the service has been worth it.
Exception to that rule: If I get a drink for e.g. 3.80 I often round up to 4 if I don't feel like dealing with the small change.
Sometimes you encounter the type of waiter/waitress who keeps searching his wallet for change endlessly... obviously waiting for you to tell him/her not to bother. In these cases I usually insist on exact change.