It depends on what you are offering help and support for.
Let's say you have an independent video game or software application (using this example as I was discussing a help system for a software product with someone last week).
In that scenario something like an online help/faq type tool is helpful, where the user can search help topics and get answers; maybe with user contributed answers (in the form of comments) can be really helpful.
Then back that up with an online touble ticket type system where the user can interact directly with support, where the ticket and its replies are visible online and via email response.
You could also have live chat support if you have the agents to support it.