As much as the opposite is talked about, a church is kind of like a hospital. You don't go to a hospital to find people who are healthy and happy...they're generally sick and injured. A church following the biblical model (I understand that there's a lot of differences in this philosophy, even among confessing Bible-believing churches) is a place where you find people who are acknowledging/have acknowledged a need. They (we) are spiritually sick and unhealthy and look for solace and understanding and sanctification through Christ.
I don't understand why people think a) that people who say that they're Christians become perfect upon their testimonial; b) that because you've committed a sin publicly that it's worse than doing it privately; or that things the Bible says are sins aren't going to change because of an increased public acceptance of those actions (like divorce or sexual immorality of all types).
It's completely logical to me that Haggard struggles with his sexuality while understanding that his faith says that it's a sin. People struggle with all manner of sins, and it's just a matter of what you in particular going through. Demonizing homosexuality over anything else is wrong. The Bible is full of stories about people who were messed up in various areas, but God turned their life to something God-honoring and useful for teaching.