CHM is the proprietary help file format generated by Microsoft HTMLHelp Workshop (hhw.exe). It's HTML based help, so topics are required in HTML and supplemented by the used *.jpg, *.gif or e.g. *.svg files. Some additional files for the table of contents (.HHC)and index (.HHK) must be created. The .HHP file is needed for the Workshop project itself. HTMLHelp (HH) was first shipped with Internet Explorer 4 and Windows 95.
CHM is the proprietary help file format generated by Microsoft HTMLHelp Workshop (hhw.exe). It's HTML based help, so topics are required in HTML and supplemented by the used *.jpg, *.gif or e.g. *.svg files. Some additional files for the table of contents (.HHC)and index (.HHK) must be created. The .HHP file is needed for the Workshop project itself.
HTMLHelp (HH) was first shipped with Internet Explorer 4 and Windows 95.
While Help2 and Help3 exist, these mostly are limited to MSDN as delivered with Visual Studio.
While Microsoft did launch a newer helpformat with Vista (Assistance Platform help), CHM is still the most widely used helpformat under Windows.
Multiplatform viewers for this format exist for *nixes, see kchmviewer, gnochm, xchm, but these might not emulate all MSIE quirks.
Best open format description: http://savannah.nongnu.org/projects/chmspec/