The quality of support you get from forums. mailing lists, and IRC channels is almost always far better than that directly provided by the company. Support teams that are competent enough to not just be warm bodies reading from a script simply don't scale well, because support employees at that level of competency expect (and deserve) to be paid as much as developers.
The vast majority of support queries on the other hand are repeats of the same questions, over and over again from customers who can't be bothered to use Google to search for their problem which means companies have to have a filter in place. That filter can be a forum, a web form that forces you to view every single article in the knowledge base, or a team of barely trained monkeys who are underpaid, and will burn out within 3-6 months from being asked the same questions over again by customers who are, on average, so dense that they don't mention the device in question isn't even turned on until they have already nodded along and gone through 30 minutes of "troubleshooting".
The use of community based support shouldn't itself be a concern, but how that support is implemented, how it's managed, and how the company uses that community based support to triage and escalate issues should be. In the most effective, and customer friendly cases, community support basically is used to to weed out the people who can't bother to help themselves from the people who have real problems, and the latter will get real support from "power users" or even actual developers.
The key to making that work in favor of the customers that actually need help is good moderators. They need to be jaded, vicious bastards who will stamp out any hint of noise amidst the signal, who aren't afraid to humiliate someone who posts the exact same question without reading the post directly below it where someone else asked the same thing.
All of this, should of course be accompanied by the best paid support you can find, at whatever rate allows you to pay your support staff a good (at least $25 USD/HR) wage plus medical, mental health, sick days, vacation and other benefits, and generally keep them happy. This should be a "tierless" support team if at all possible - the people you put there should be able to handle anything that comes their way, or act as a liason between customer and developer when necessary. The rate for this level of support should be high enough that your support team shrugs off people asking "dunb" questions as suckers who wasted their money rather than banging their head in frustration.
Chances are, the same support people can be providing paid phone support and "escalating" cases from the forums for free support when it's needed & deserved. Everybody wins in this case - lazy people can pay to be lazy, people with no time to wait for a solution can pay for one, and people who are willing to work to find a solution can get the help they need free of charge.