This is just a quick and pretty obvious tip, but worth posting I think. We recently rolled out a SharePoint solution for a customer and as an afterthought I added a Wiki called 'About this Site' to the home site. As I identified areas in training that they might need help remembering, I added pages to the wiki with very short steps to do various tasks. In addition, I showed them how to add their own articles. Each took just a few minutes to add, and in the end, they had easily accessible documentation on their particular SharePoint install. I wondered if they'd use it, but I was pleasantly surprised when I logged in and saw 'Last Modified by:' wasn't me! SharePoint can be pretty daunting to new users, and even old ones. By adding documentation using the customer's name and terminology familiar to the customer, we made the site much more approachable.
As a bonus, I was able to export the wiki as a template and can now re-use it elsewhere, though I'll need to take care to change the customer name everywhere as needed. I may look into putting one of these up publicly and building up a generic reusable wiki templates to install as starting places for various common SharePoint scenarios.
This idea extends to non-SharePoint apps as well. I'm trying this concept to document some ASP.NET MVC apps for customers. Those haven't rolled out yet, but the customer seems to like the idea so far.