tipping at restaurants

Who, when, how much, and why?