Because of the connotations it carries. People associate them with very negative strong emotions. It's not arbitrary, it's part of communication. It is an efficient method of portraying how you feel. If there were no curse words, then people wouldn't be to just say "F*** you!" They would have to say something along the lines of "You make me very upset and I hope you die in a fire!" Conveys pretty much the same sentiment but one is much easier, no?
Like I said, simply an efficient method of communication. The problem with using curse words in common conversation is that hearing them still calls up the same associations, (the anger, dislike, etc), and it can feel to the person hearing it that they're being attacked, even when they know they're not, and that makes them uncomfortable.
The vocabulary thing is actually a logical fallacy. "Association doesn't equal correlation." A lot of dumb people with small vocabularies use swear words often in order to fill in the gaps in their conversations. But they don't have small vocabularies because they swear a lot, they swear a lot because they have small vocabularies.
Hope that cleared it up for you.