Let me see if I can explain
Lesbian, which is the word that John Kerry refered to Mary Cheney with during the debate is a non offensive term used to describe a gay woman.
"Faggot," on the other hand, is generally considered an offensive term to describe not only gay men, but also those considered weak or girly.
In summary, to refer to someone as a "lesbian" is generally not an insult, but to refer to someone as a "faggot" generally is.
Does that help clear up the confusion, James Taranto?