I've never really experienced service so bad that it didn't warrant at least the usual 15%, but since I spent sooo many years as an ignorant stiffer, I am trying to make up for it.
I always tip big time if the service is great, but, I also check to see how busy my waitperson is before deciding on the size tip.
If they are super busy and provide decent service, I'll still tip well.
If they are slow and the service is mediocre, I'll go 15%.
If the server is super good, sometimes I'll go way overboard with 25% or more, especially if they are busy and the waitperson still does a great job.