It seems that the truth is never wanted. Is it better to be truthful, and to speak with honesty? Or should someone simply say what people want to hear?
No, honesty is never the BEst policy. Best meaning better than all others. And in this context it would seem we are talking about import, tho i may be wrong. Honesty opens the mouth and delivers words without concern over how they will be received. Kindness is the best policy, above all others. Kindness opens the mouth and makes eye contact in order to read how best to deliver those same words in a way that will not hurt anyone.
That's one of the reasons why I prefer online chatting. I'm one of those people who have trouble reading facial expressions and body cues (no, I'm not autistic). Chatting online is easier, I don't have to worry about misreading someone's face, or dealing with 'eye contact.'
To be perfectly honest, I think most people can read a persons face and or body language to see if honestly is whats needed in that particular situation. So unless you have Aspergers syndrome or some other type of disorder that prohibits you from reading a particular situation, I think it is safe to say most people know when honesty is not the best policy.
I don't think you should offer your opinion with friends and family causing a situation to be uncomfortable. I do think if you are ask your opinion on a matter you should be honest. example: A friend is dressed for a party, she thinks she looks Amazing, You don't but she didn't ask you, YOU say nothing. (unless it is so bad, she's going to embarrass herself) example: your friends are discussing life (anything other than how they might look) You give your opinion. I think it's ridiculous to hide who you really are for the sake of others. By doing so no one gets to know the real you.