Its just when these words are used in a derogatory way is when they are offensive. I mean there are words that are out there that have really nasty meanings, and would be really hard to put in non-offensive context, but it is possible. There are the sexual orientation slurs, like dyke, faggot, queer, etc, but some of these words are used in a "we are taking this word back" kind of way, so again it all goes to context. Even some of the trans* slurs out have been used in "we are taking this word back" context, as I've seen at drag shows and at lgbt parades.
Every word has the potential to be offensive, as it is to be non-offensive