What is a topos?
There are two concepts which both get called a topos, so it depends on who you ask. The more basic notion is that of an elementary topos, which can be characterized in several ways. The simple definition:
An elementary topos is a category C which has finite limits and power objects.
(A power object for A is an object P(A) such that morphisms B --> P(A) are in natural bijection with subobjects of A x B, so we could rephrase the condition "C has power objects" as "the functor Sub(A x -) is representable for every object A in C").
The issue with the simple definition is that it doesn't show you why these things are actually interesting. It turns out that a great deal follows from these axioms. For example, C also has finite colimits, exponential objects, has a representable limit-preserving functor P: C^op --> Doct where Doct the category of Heyting algebras such that if f: AxB --> A is the projection map for some objects A and B in C, then P(A) --> P(AxB) has both left and right adjoints considered as a morphism of Heyting algebras, etc etc. What the long-winded definition boils down to is "an elementary topos the the category of types in some world of intuitionistic logic." There's an incredible amount of material here; the best place to start is probably MacLane and Moerdijk's Sheaves in Geometry and Logic. The main reference work is Johnstone's as-yet-unfinished Sketches of an Elephant, but I certainly wouldn't start there.
The other major notion of topos is that of a Grothendieck topos, which is the category of sheaves of sets on some site (a site is a (decently nice) category with a structure called a Grothendieck topology which generalizes the notion of "open cover" in the category of open sets in a topological space). Grothendieck topoi are elementary topoi, but the converse is not true; Giraud's Theorem classifies precisely the conditions needed for an elementary topos to be a Grothendieck topos. Depending on your point of view, you might also look at Sheaves in Geometry and Logic for more info, or you might check out Grothendieck's SGA4 for the algebraic geometry take on things.
I would tend to think that in Charley's reply above the sentence
There are two concepts which both get called a topos, so it depends on who you ask.
is misleading. As Charley mentions himself afterwards, a Grothendieck topos (a category of sheaves) is a special case of the general notion of topos. It's not like there is a conflict in terms.
One may even consider further special cases that go further in the direction from general toposes to things that look more like topological spaces: the next step are the localic toposes, which are those that are categories of sheaves on categories of open subsets of a topological space.
This, in turn, is seen in higher topos theory (search the keywords on the nLab, I can't post more than one link here, unfortunately) as the beginning of an infinite hierarchy of n-localic oo-toposes: 0-localic toposes are like ordinary topological spaces, while as the n in n-localic increases they become more and more objects in "derived geometry". Again, search the nLab for these keywords for more on that.
The entry nLab: topos provides some more details and in particular provides further links, also to material on higher toposes.
Urs Schreiber