When working with Smalltalk I usually dont care about reference documentation since I'm more used to browsing the code directly. On the other hand it is very easy to use reflection in Smalltalk and write out some static html files if required (see this Squeak class documentation for an example).
In Java and .NET you typically use documentation annotations in the code and tools like JavaDoc and NDoc. As you may have heard NDoc is now discontinued since Microsoft provides an own documentation tool called "Sandcastle".
So I just downloaded the Community Technology Preview for "Sandcastle" to document the assemblies of one of my .NET projects. Sandcastle allows you to build accurate, informative documentation with a common look and feel similar to the MSDN documentation.
There are several GUI tools available helping you to control the compilers input and output (the CTP for Sandcastle comes only comes with a command line compiler).
After trying the SandCastleBuilder tool I was more happy using the SandcastleGUI tool. Much better than using MRefBuilder.exe, BuildAssembler.exe and XslTransform.exe manually.
Since I already had the MS HTML Help Compiler installed it was very easy to build a CHM file with the docu. One of the nice features is that the documentation includes live links to the MSDN documentation.
All in all nothing worldshaking but sometimes helpful if work on the .NET side of life.