This has to be one of the most overused phrases in history. And it NEVER gets the meaning across that you want it to.
If at any point you're using the phrase 'no offense, but...' it's almost 100% guaranteed you absolutely mean offense, but by putting this simple phrase in front it's supposed to act as some sort of shield. I never really understood that. If you want to say something you know is offensive, why try to cover it up? Just go with it. It's your opinion, right?
There are so many different ways you can have conversations with people that doesn't need to begin with 'no offense, but...". I think this is the one thing that really feels lost lately in general conversation. Common discourse and courtesy for the person you're talking to doesn't seem to exist much anymore. Have a friendly, healthy discussing with disputing points is a good thing. But that doesn't seem to be an option. Opinions are so polarized, and the notion of "I'm right, you're wrong, and you're going to listen to me tell you why you're wrong" seems to be the basis of so many conversations about every topic from politics down to what pizza is best.
Maybe it's just the time we're in. I mean, the 90s fashion trends, music, etc is making a strong comeback some 30 years later. So maybe, just maybe, respectful discussion and discourse will also prevail and make a glorious return. Until that day comes though, perhaps your 'no offense' should stay tucked away inside the offensive remark you actually do mean. No offense, of course.