I no longer tip taxis or restaurants unless there has been additional service offered ie the taxi driver carries my case into the house or the waitor allows me to 'taste' a certain dish before ordering. However, on holiday in certain countries I do tip as these tips are in fact their wages.
I think I'd only tip a hairdresser if she went to some pains to make my hair look lovely for a special occasion and wasn't charging more than the usual rate.
A tip is a way of saying 'thank you I really appreciate what you've done'.
I give private English lessons and at the end of the year I often get presents to thank me for my patience, results etc. I appreciate this gesture.