Andrej Brodnik’s class, vita, offers a framework for producing a curriculum vitae. The class may be customised both for subject (example class option files support both computer scientists and singers), and for language (both the options provided are available for both English and Slovene). Extensions may be written by creating new class option files, or by using macros defined in the class to define new entry types, etc.
Didier Verna’s class, curve, is based on a model in which the CV is made of a set of rubrics (each one dealing with a major item that you want to discuss, such as ‘education’, ‘work experience’, etc). The class’s documentation is supported by a couple of example files, and an emacs mode is provided.
Xavier Danaux offers a class moderncv which supports typesetting modern curricula vitarum, both in a classic and in a casual style. It is fairly customizable, allowing you to define your own style by changing the colours, the fonts, etc.
The European Commission has recommended a format for curricula vitarum within Europe, and Nicola Vitacolonna has developed a class europecv to produce it. While (by his own admission) the class doesn’t solve all problems, it seems well-thought out and supports all current official EU languages (together with a few non-official languages, such as Catalan, Galician and Serbian).
The alternative to using a separate class is to impose a package on one of the standard classes. An example, Axel Reichert’s currvita package, has been recommended to the FAQ team. Its output certainly looks good.
There is also a LaTeX 2.09 package resume, which comes with little but advice against trying to use it.