3 years ago, when my barber first heard I had moved to the area, he took it upon himself to tell me about the local community.
There was a deep sense of community. There was a shared history. The community had faced some big problems and chalked up some impressive achievements.
There were big personalities too, mighty organizations, and a familiarity between most of the long-time residents.
Most interestingly, there were rivalries, conflicts, long-held grievances stretching back decades. Some families didn't like other families. Sometimes this erupted into furious rows both online and, more commonly, offline in the market.
Despite this, everyone believed in and supported the community. They all felt a part of the community. No-one wanted to leave the community.
Much the same is true in online communities. There are big personalities (that annoy many people). There are rivalries, conflicts, and grievances. There are people that say controversial things.
Real communities have all these things.
Too frequently, we see these as edges to be sanded off to achieve a more harmonized community. It's better just to see it as part of what the community is. A community isn't harmony. There will be people that don't like each other, that bear grudges, and this will occasionally erupt into an open debate.
Don't overreact. Don't shut down the debates. Don't remove the big personalities. Don't sand down the sharp edges. People are far more likely to stop participating in a community because it's boring, than because there are people, opinions, and activities which they don't like.