I think sometimes people confuse "being honest" with expressing their opinion. If someone asks you if you like their haircut and it's already been cut, what good is it to say it looks stupid, even if it does? How about " I'm just being honest - I think you need to lose weight". Not very nice,even if it IS honest. I wouldn't want to lie to someone, but I think a lot of things can be left unsaid.