So most of us believe that being honest with someone is usually the best policy. We should be able to be as tactfully honest as possible when confronted with giving our opinion but when is it the best policy to not be so honest?
Most of the time I am honest with people because I want them to be honest with me but when it comes to possibly hurting someones feelings I tend to be a little less honest then usual. There are times though, when I could care less about hurting feelings. Those tend to be times when a little tough love is in order. I'm good at dolling out tough love.
If someone asks be if I like a particular outfit I'll give them my very honest opinion with a healthy dose of tact of course.
I don't think that being honest in every situation is necessarily the best policy. Take for instance you are on a date with someone you like. This is maybe the 3rd or 4th date and they decided to cook for you. You taste this absolutely awful mess and instantly want to puke. What do you do? You really, really, really like this person and want to get to know them. In this case, I would grin and bear it and keep my trap shut about how bad the food really is. I'd wait until we were a little more solid and comfortable with each other and very casually and tactfully let them know they no longer need to ever prepare food for me again.