Posting a friendly welcome to a new person, which makes the individual truly glad he posted a message, can do wonders for creating community. It's also important to be fair in everything you do. At the very least, move the off-topic and cranky discussions to another section of the forum, where the fight can go on without disturbing everyone else. These should not be superstars. Superstars frighten people.
Superstars can visit occasionally.
Keep conversations focused. Move off-topic messages to a chat section. When an on-topic thread branches, change the subject title. But let the chat section be for real chat. Don't discourage people from talking about their lives, cats, kids, cars, etc.