Plenty of words have alternate meanings. The word gay has been used to reference a sinful lifestyle for hundreds of years. Faggot came from gays being burned alive like common kindling for their sins. Douchebag may have roots in French cleaning practices (yeah, I'm surprised there is such a thing, too), but it changed to mean an unattractive person decades ago. Now, because it isn't censored in the way many other words are, it's used all over television.
Language changes. Words rarely hold the same meaning forever. Remember when bad used to mean good? I mean, if you combine "bad" and "ass" you somehow get a compliment.