This is my understanding of meso compound, enantiomers, etc. Maybe chemistree or Borek could weigh-in if need be.
There is steroisomerism and structural isomerism: structural isomerism is when you have the same number of atoms and the same number of each type of atom in the molecules but the way they are connected up is different (see
http://en.wikipedia.org/wiki/Structural_isomer). Stereoisomerism is when you have the same number of atoms and the same number of each type of atom in the molecules AND the molecules are connected up the same way, but the positions in space of the atoms relative to one another is different (see
http://en.wikipedia.org/wiki/Stereoisomerism).
Chirality is to do with mirror-images: if you move one of the functional groups - such as a methyl group - to a different carbon you have structural isomerism, but they aren't mirror images. If you take a molecule and draw its mirror image, and you can't rotate it such that you end up with the original (i.e they are not superposable) then you have a chiral (as oppose to an achiral) molecule - the molecules are enantiomers.
This can be extended: you can get molecules that are connected in the same way and that differ in the position of the atoms relative to one another in space (stereoisomerism), but are not mirror-images of one another: these are diastereoisomers.
When a compound has enantiomers, and these enantiomers have a diastereoisomer that is superposable on its mirror-image, then the 'version' of the molecule that is superposable on its mirror-image is the meso compound. You can see this in figure 3.4 in the link above: for tartaric acid, there are enentiomers, and these enantiomers are diastereoimsomers to the meso compound, the relative arrangement of the atoms in space is different between all three, but the mirror image of the meso compound can be rotated such that is is superposable on the original.
Sorry if that explanation is confusing. I recommend the wikipedia links and the link to the textbook above.