Videos. Yes, thorough and searchable text-based documentation is important too but for complicated software videos are very, very useful. In some cases you'll be able to use the same videos to market your product on your website, YouTube, Facebook, etc.
To make these videos I would recommend Screenflow if you're on Mac:
http://www.telestream.net/screen-flow/overview.htm
Screencast-o-matic is also a decent program that is universal (and Free!):
http://www.screencast-o-matic.com/
One of the most common (and best ways, in my opinion) to implement help is to have a question mark at the top corner of each screen. Clicking it will bring up context sensitive documentation (help info for the screen you are viewing), but also include a list of other related topics on the left. Put a search bar on the top of the list, and you are good to go.
As Ben suggested, inline help is also good. But use it sparingly, otherwise you will clutter your interface, and if you overuse it then users will tend to ignore it. A good use for inline help would be a field label that might need some additional explanation.