Many gay people, including myself, find the word homosexual somewhat offensive because of the way it has been coopted by professional anti-gay activists such as the National Organization for Marriage and the Family Research Council. One News Now, a news website run by the homophobic American Family Association, once got into trouble for taking a AP press release about the sprinter Tyson Gay and publishing it as "Tyson Homosexual". They have an automatic filter which converts gay to homosexual. Why do you think they feel the need to have that filter? Why are homophobes uncomfortable with the word gay?
It's because gay and homosexual don't mean quite the same thing. Homosexuality is an orientation. A gay person (note that both words can be used as nouns, but many gay people are uncomfortable with that) is comfortable with his sexuality. He has established, to borrow the language of the religious right, a "gay identity".
Gay news blogs such as Box Turtle Bulletin and human rights organisations use the word gay throughout their writing.
Words mean things, even if the difference is subtle; and this difference in usage has an effect:
A recent CBS/New York Times poll found
that 70 percent of Americans are in
favor of gay men and lesbians serving
in the military. Hooray for progress!
Unfortunately, the same poll found
that only 59 percent of Americans are
in favor of homosexuals serving in the
military.
Salon.
Mike Christian's answer is therefore shown to be wrong. The word homosexual is not "more appropriate". It's not used in a human rights context; it's not used in a cultural identity context; and it's falling out of favour in a medical context (they use "men who have sex with men" instead, to cover all bases). The only context in which the word homosexual is still commonly used is an anti-gay context. Avoid it.