It is a management software for formatting lists of references, intended for use together with Latex.
BibTeX makes it easy to cite sources in a consistent manner, by separating bibliographic information from the presentation of this information, similarly to the separation of content and presentation/style supported by LaTeX itself.
Basic structure
In the words of the program's author: "Here's how BibTeX works. It takes as input
(a) an .aux file produced by LaTeX on an earlier run;
(b) a .bst file (the style file), which specifies the general reference-list style and specifies how to format individual entries, and which is written by a style designer [..] in a special-purpose language [..], and
(c) .bib file(s) constituting a database of all reference-list entries the user might ever hope to use.
BibTeX chooses from the .bib file(s) only those entries specified by the .aux file (that is, those given by LaTeX's \cite or \nocite commands), and creates as output a .bbl file containing these entries together with the formatting commands specified by the .bst file [..]. LaTeX will use the .bbl file, perhaps edited by the user, to produce the reference list.