The word ontology originally refers to a branch of metaphysics (in philosophy) concerned with the nature of being or existence (i.e., what things can exist, and what their nature is, etc.). Not to be confused with epistemology which is concerned with knowledge (i.e., what we can know e.g. about things that exist), and the grounds for this knowledge.
In computer science and logic, an ontology has come to mean a description of the objects and processes in a domain and their attributes and relations to one another. The word is used informally to refer to any "specification of a conceptualization" [1 ]. Various formal logics and other representations are used for formalising ontologies, including predicate logic and description logics.
The word often crops up in relation to the semantic web.
DKF: Very often, I've seen the word ontology used to refer to what is little more than a structured computer-readable dictionary or thesaurus. (By computer-readable, I mean that it is reasonably possible for a suitable inference engine to do something somewhat interesting with the terms and the relationships between them, such as figuring out that two terms refer to the same thing). Relatedly, I've also seen ontology used in relation to a specification style whereby each term in the specification is described tightly and may be used without reference to the surrounding terms (as opposed to a specification that states that a term may only exist in a very particular context).
NEM: Yes, ontology is used quite vaguely a lot of the time. It sometimes seems to be used just as a synonym for taxonomy. At the other end of the spectrum of things described as ontologies are things like Cyc [4 ] [3 ] and SUMO [2 ].