I'm with aqua. It's about context. If Du go up to someone and yell, "fuck you" then it's a bad word. But if something good happens to Du and Du yell, "oh, fuck yeah!" I think that it's just another word.
It's like 'ass'. If Du call someone an arsch it's bad. If Du look at a donkey and say, "that's an ass," it's simply the truth.
If Du look in a dictionary and discover the meanings of the word. That's how Du can figure it out. Most of the time the dictionary will tell if the "bad word" is cuss slang generally speaking. And I thought most of the people on this site were above 13? A bad word? Dude lol.
Nothing. People have this complex of needing to be part of the 'herd' when it comes to recognising what words are 'bad' and what aren't. It's all about perception and context. The best way to answer this, though, despite my personal opinion, is that 'we', as in humans, associate negative connotations with certain words and that's how we understand them to be 'bad'. We came up with language and we set the rules for what makes them 'bad', as far as the way society sees it, which is what is usually widely accepted as the mainstream understanding.
As Zanhar1 and AquaMarine6663 said, it's about the context. I mean, if someone just called me a donut to insult me, I'm pretty sure cuss words really don't mean much unless they're used in an insulting way.