I’m not sure I can improve on this:
As others have noted, the Solved, Assign, and Docs plugins are useful for support sites.
Depending on how your team and forum are organized, whisper posts can be useful for allowing staff to have inline discussions about support questions.
I suspect the big difference between Discourse and a dedicated customer support platform is that Discourse doesn’t enforce a particular support workflow. Teams need to figure out how to use Discourse in a way that meets their needs. After establishing a work flow, it takes some discipline to stick with it. Depending on your point of view, this could be seen as a good or a bad thing. I personally think that Discourse’s flexibility makes for a good work environment. I wouldn’t have lasted long working with any of the dedicated support systems that I’m aware of.
Many of the issues raised about long threads, stub posts, redundant posts, etc can be dealt with by actively moderating the site.
One thing that’s not obvious from browsing Meta is that the Discourse team use it to provide two levels of support. There’s both a public support category that’s accessible to everyone, and a private support system for Discourse’s hosted customers. The private support essentially functions as a ticketing system. Unless things have changed, assigning topics either to groups or individual team members (with the Assign plugin) accomplishes much of what tickets would accomplish in a dedicated support system. There are lots of benefits (and maybe a few downsides) to having both a public and a private support system on the same site.
I think Discourse should have something like a “customer support template” that would allow a customer support site to be configured from the setup wizard. Documentation about how to use Discourse for customer support should also be provided. I’m tempted to fully document it here, but to do it well would probably require a few days of work.