As you edit Lisp code to be run in Emacs, the commands C-h f
(describe-function) and C-h v (describe-variable) can
be used to print documentation of functions and variables that you want to
call.  These commands use the minibuffer to read the name of a function or
variable to document, and display the documentation in a window.
For extra convenience, these commands provide default arguments based on the code in the neighborhood of point. C-h f sets the default to the function called in the innermost list containing point. C-h v uses the symbol name around or adjacent to point as its default.
  Documentation on operating system commands, library functions and
system calls can be obtained with the M-x manual-entry command.
This reads a topic as an argument, and displays the "man page" on that
topic.  manual-entry starts a background process that formats the
manual page, by running the man program.  The result goes in a
buffer named `*man topic*'.  These buffers use a special
major mode, Man mode, that facilitates scrolling and examining other
manual pages.  For details, type C-h m while in a man page buffer.
  For a long man page, setting the faces properly can take substantial
time.  By default, Emacs uses faces in man pages if you are using X
Windows.  You can turn off use of faces in man pages by setting the
variable Man-fontify-manpage-flag to nil.
If you insert the text of a man page into an Emacs buffer in some other fashion, you can use the command M-x Man-fontify-manpage to perform the same conversions that M-x manual-entry does.
Eventually the GNU project hopes to replace most man pages with better-organized manuals that you can browse with Info. See section Other Help Commands. Since this process is only partially completed, it is still useful to read manual pages.