The question may sound a bit odd, but let’s think about it for a moment, and let’s be honest here, how often do you sugar coat the truth in order to avoid hurting someone's feelings? We do it without realizing that we're doing it. Let me elaborate, you have a friend and she is crying because she instigated a fight for the umpteenth time with her boyfriend and he finally ended the relationship, she says 'I screwed up! Didn't I?' Rather than being honest and hurting her more you hug her and say 'No, he wasn't right for you, you'll find someone else, and reassure her that her true love is out there.
Are you being honest? No not entirely you know that she is partially responsible for the breakup, but you don't see any advantage in bringing that up right now. What would it accomplish? It certainly would not restore her relationship; it would only make her feel worse than she does.
You didn't mean to be deceptive but you also did not wish to cause your dear friend any further pain, because seeing her hurt is making you feel pain. Sometimes we need to be tender not honest, there is a time and a place for everything. And we need to know when to distribute truth, when to distribute love, and when to distribute compassion. Timing is crucial or you appear to be heartless and without any feelings.
Another example I will use is your mother just had her hair done and you feel the cuts too short and the color makes her look even older, you can either be honest with her and hurt her and probably start a fight or avoid the topic of her hair which is pretty much like saying you hate it.
The point is sometimes being honest is not always the best way to go. Unless you don't mind the conflict. Finally what about those who aren't ready to hear the truth, in my case I have to be truthful but with a dose of compassion as not to offend the person who I am speaking with.
However there have been incidents when I am honest with people and they aren't ready to hear the truth and reject it. So is it best to be honest? The question is not one that is easy to answer it honestly depends on many factors and on your relationship with the other person.
Usually if your bond is solid and strong and you feel they can handle honesty, then yes it is, but remember this, if you are honest be gentle not brutal you'll get a better result with love and compassion and listen to their pain to their side of it empathize and the next time they come to you for advice or guidance they know you will tell them the truth, without breaking them.
Truth is fine but cushion the blow and also add your notes as to why you came to that conclusion and how you objectively see it but do it with love not with ridicule.