There's a difference between honesty and just pointing out uncomfortable things just to be an asshole... but if it's the truth, where's the beef?
Just because people don't want to own up to things and live a psychologically protected life devoid of confrontation doesn't make the observations less true.
So the question becomes: Is it rude to be honest? Only if the person with whom you're speaking isn't comfortable with honesty. Etiquette, as we know it, is based on lies and deception. I'm not sure why that doesn't bother more people.
Now, I will keep things to myself if they don't need to be said- but if I feel like saying something, I'm going to say it. Like if someone is wearing something really stupid, I won't say anything- unless I feel like their outfit embarrasses me by association. Like once, a friend of a friend (who I didn't know) showed up dressed like
Neo when we met up with him downtown.
I said, "hey Neo, can you take off the Matrix jacket," (calling it a "jacket" pissed him off, which wasn't intentional) "because no one is going to be firing any slow-motion bullets at you tonight." (PS this was a few months ago, not like back when the movie was out and popular or anything)
It was embarrassing. He looked ludicrous. I've gone through a mild goth phase (more just the clothing, never the piercings or blood play or makeup), and when I dressed that way, I was going to a club of that style. If I went to a trendy club dressed goth, I'd have looked stupid, and vice-versa.
I didn't say it just to jab him, I said it because there were implications for his mode of dress. And while my friends and I aren't hanging out downtown "to look cool", there's still a certain level of, "could you please learn to dress yourself so you don't look like you just wandered out of a cosplay convention?"
Why should anyone hold their tongue for the sake of someone's feelings when they themselves have to suffer?