A site based purely around a community or forum is a viable content site. However, such community sites are hard to promote and hard to profit from. Instead the most typical implementation of communities are as complements to existing content sites. If you already run a content site with decent traffic, adding a community with increase user loyalty and provide an outlet for user created content.
Communities, also known as "forums" or "bulletin boards," are very complicated applications. So complicated that view people elect to code their own. Instead most people buy a software package or use a free open-source one. However, just because you do not need to code the whole thing doesn't mean you shouldn't be able to if need be. Chances are you will need or want to make technical adjustments and customizations to the software you purchase and if you don't have the programming knowledge you will find such tasks to be difficult.
One thing to keep in mind when shopping for bulletin board software is that it should be database driven. A forum that is not database driven is slow and inefficient. Additionally the forum should use a modern inline scripting language such as PHP, ColdFusion, or ASP. Other technologies, such as CGI, are older and carry more over head.
You should never use a remotely hosted forum service. Such services make you look unprofessional and are hard to migrate from. You also do not have completely control over the privacy of your members and the forum company may elect to exploit your members in ways you normally would not allow. Speaking from personal experience, one of my email addresses never got spam until I used it to sign up at one of the free forum services.
The more popular your site, and specifically the more returning visitors you have, the easier it will be to build your community. However, even if you have a popular site it can still be hard to get a community off the ground. The good news is that once you do get it off the ground the growth is exponential.
When you're community is first getting started don't be afraid to ask friends to post there. Getting some good discussions going will attract more people like flies to a light bulb. Additionally you could create multiple usernames and literally talk to yourself. Since having current discussions is necessary to get additional discussions talking to yourself is a viable method of getting your forum going.
You should also promote your forum as much as possible. If you have articles on your website integrate them with you forum by using the forum to post article feedback or by listing related forum discussions at the bottom of your article. You should also advertise recent forum discussions on the homepage of your site. If you have a newsletter you can link to forum posts from within it. Basically you should do everything in your power to not only let your visitors know you have a forum, but also to show them how useful it is.
One mistake many people make is to overload their forum with too many sections. When you're first starting out you don't have enough activity to spread it out so widely. Instead keep the number of sections to a minimum and then you can branch out as your activity increases.
Another way to promote a forum is to run contests or otherwise offer incentives for people to be active and post. If you gave out a "prize" when posters reached a certain number of posts it would encourage more active members. However with contests like that you really need to moderate posts well so people don't post just for the sake of winning, and that brings us into our next section: "Moderating Your Community."