In my head, there's two categories of derogatory words: ones that you can say in public conversation that almost everybody won't care about, and ones that people are more likely to care about. Ones that you can include things like 'stupid', 'lame' or 'gyp', while others are things like 'nigger' or 'jew'.
I'm unsure where I'd place 'gay' or 'faggot' in here, but I'm leaning towards gay being a less hostile word than faggot, but still possibly offensive (depending on usage) to go into second category. With that said, I use it all the time, and very rarely am I meaning it in a derogatory fashion.
Both of these are offensive to some people, but the former have been dissociated with their offensive meanings and are used more generally to represent negative things in general. When you say something is lame, you're obviously not actively attacking the crippled, but the opposite is considered for the other category.
I think what it comes down to is people are stupid and only dislike negativity if it's trendy to do so, or if it affects them.
Bonus points if you got the joke in the last sentence.