There's no yes or no answer to this question.
Did you solicit the comment? If you have asked for an opinion, then be prepared to hear the truth.
If you have not asked for an opinion, then comments about appearance etc. are generally unwarranted.
However if someone says "I should be fine to drive" when you know they have had four pints that merits you offering an unsolicited truth "No, you're over the limit and should not be driving".
Being honest simply means not lying, but it does NOT mean blurting out every thought that goes through your head.
You can tell the truth with tact, most of the time. Eg, your friend says "Do I look fat in this skirt?" you think "well, yes" but you say "I like the blue one better". If she continues to press on whether she looks fat you could say "The other one makes you look slimmer."
It also depends on whether the person has been rude to you first, as you do not owe anybody tact if they are tactless to you.
I remember years ago an aunt of mine commenting "Oh do you know you have a double chin?!" (I had just had a baby and had gotten a bit chubby) and I replied "Do you know you have had a double chin for the past 30 years but I've never mentioned it?"
In short, it depends.