An annulment is just a Catholic divorce.
An "annulment" (or decree of nullity) is something entirely different from a divorce. A divorce is the attempted break up of a valid marriage. An annulment is the acknowledgement that the marriage was invalid from the start because the things that are necessary for a valid marriage were never present. Therefore, an annulment is not the attempted break up of a valid marriage.
In Matthew 19:8, Jesus gives permission to divorce in the case of "adultery.”
The word there would be better translated "fornication" not "adultery," indicating a sin that occurred before the marriage was consummated. In other words, a defect was brought into the marriage rendering it unlawful. Also, "divorce" here means the separation of the spouses without the freedom to remarry. The marital bond remains intact (cf. Mark 10:11-12; 1 Cor. 7:10-11).
Read more about Holy Matrimony in the Catechism of the Catholic Church.
Where does the Church get the authority to say whether or not a marriage is valid?
From Jesus who gave the Apostles the power to "bind and loose" (Matt. 16:19; 18:18).
Why does the Catholic Church hate homosexuals?
The Catholic Church does not hate homosexuals. The Catholic Church is against homosexual acts, but not the person. In fact the Catechism condemns any form of "unjust discrimination" against peopple with homosexual tendencies (par. 2358). The Catechism also says, though, that this tendency is "objectively disordered" and a "trial" (ibid.). A person may not be able to help having homosexual tendencies, but he or she does not have to act on them. By the grace of God, he or she can live a chaste life, as all of us are called to do.