I believe it depends on a lot of things. Between close friends, tagging an “no offense” is usually enough; unless the two of them insult each other regularly to the extent of wanting to kill each other.
It also depends on the way one says it, and the rest of the word it follows. Something like “No offense, but you are blocking my way” is nothing to get upset over, but “No offense, but you are an inconsiderate selfish moron who is blocking my way to greater enlightenment” is defintely something tactless. Even if that person is really such, saying that to him/her rarely would prompt any changes, so a well meaning friend could have to find another direction or a more tactful way to give advice.
Maybe the point is just tagging “No offense”, “IMHO”, “Don’t take it personally” to something tactless and rude doesn’t make it easier to swallow, and doesn’t protect the speaker from the aftermaths of one’s wrath…
I have never understood that phrase. Were it to be excised from the English language, I would shed no tears. It seems to serve a purpose of solely convincing the speaker that he or she is being polite.
I vote for this one. It’s the most condescending and patronizing way to ridicule somebody, definitely the way to go if you’re interested in really ticking somebody off.