What do the file extensions mean?

The following is a list of most of the common file extensions used for UNIX (La)TeX files and what they mean. They are in the order in which you are likely to come across them rather than alphabetic order.
.tex ... denotes a source file for any flavour of TeX
.cls ... denotes a LaTeX 2e class file
.clo ... denotes a LaTeX 2e class option file
usually options associated with a class are defined in a .cls file, but occasionally they are defined in separate .clo files
.sty ... denotes a LaTeX (or AmS-TeX) package/style file
LaTeX 2.09 made no distinction between classes and packages ... all such files were style files - hence the suffix.
LaTeX 2e has retained the suffix for what it now terms as packages
.log ... denotes a log file for any flavour of TeX
.aux ... denotes an auxiliary file
generated by running latex (or etex) on a source file. It typically contains information latex needs on a second pass to construct \refs and \cites and information that bibtex needs to construct a .bbl file. See BibTeX.
.toc ... denotes an table of contents file
generated by latex when the source file contains the line
\tableofcontents
.lot ... denotes an list of tables file
generated by latex when the source file contains the line
\listoftables
(Similar to a .toc file.)
.lof ... denotes an list of figures file
generated by latex when the source file contains the line
\listoffigures
(Similar to a .toc file.)
.bib ... denotes a BibTeX source file
such files contain the database from which the .bbl bibliography file is generated. See BibTeX.
.bst ... denotes a BibTeX style file
the style in which bibtex presents the .bbl bibliography file.
.bbl ... denotes a (La)TeX bibliography file
usually generated by bibtex.
.blg ... denotes a BibTeX log file.
.idx ... denotes a MakeIndex index source file
contains \indexentry commands generated by a first pass of a TeX source file through a flavour of TeX. See MakeIndex.
.ist ... denotes a MakeIndex style file
needed only when the default manner in which makeindex processes an .idx file needs to be over-ridden, e.g. when makeindex is used for generating a .gls glossary file.
.ind ... denotes a (La)TeX index file
usually generated by makeindex.
.ilg ... denotes a MakeIndex log file.
.glo ... denotes a MakeIndex glossary source file
contains \glossaryentry commands generated by a first pass of a TeX source file through a flavour of TeX. See MakeIndex.
.gls ... denotes a TeX glossary file
usually generated by makeindex, which needs an appropriate .ist file to over-ride the MakeIndex defaults that produce indexes.
.glg ... denotes a MakeIndex glossary log file.
.dtx ... denotes a file containing (La)TeX package(s)/class(es) together with its documentation
Running (La)TeX on the file usually generates the .dvi documentation. An accompanying .ins file calls docstrip.tex to strip the (La)TeX package(s)/class(es) from the .dtx file and sometimes also a .drv file.
.ins ... denotes a (La)TeX install file
Running (La)TeX on the file strips package or class files from accompanying .dtx files(s).
.drv ... denotes a (La)TeX driver file
Sometimes stripped from a .dtx file by running (La)TeX on an .ins file. Running (La)TeX on the .drv file generates the .dvi documentation.