Lamport's original LaTeX had a separate program (SliTeX) for producing slides; it dates from the age when color effects were produced by printing separate slides in different-colored inks, and overlaying them, and was just about acceptable back then. When LaTeX2e came along, the reason SliTeX had to be a separate program went away, and its functionality was supplied by the slides class. While this makes life a little easier for system administrators, it does nothing for the inferior functionality of the class: no-one who “knows” uses slides nowadays.
The “classic” alternatives have been seminar and foils (originally known as FoilTeX). Both were originally designed to produce output on acetate foils, though subsequent work has provided environments in which they can be used with screen projectors (see below).
The advent of Microsoft
PowerPoint (feeble though early
versions of it were) has created a demand for “dynamic” slides -
images that develop their content in a more elaborate fashion than by
merely replacing one foil with the next in the way that was the norm
when slides, foils and seminar were designed.
The prosper class builds on seminar to provide dynamic effects and the like; it retains the ability to provide PDF for a projected presentation, or to print foils for a foil-based presentation. The add-on package ppr-prv adds “preview” facilities (that which is commonly called “hand-out printing”). The HA-prosper package, which you load with prosper, mends a few bugs, and adds several facilities and slide design styles. The (more recent) powerdot class is designed as a replacement for prosper and HA-prosper, co-authored by the author of HA-prosper.
Beamer is a relatively easy-to-learn, yet powerful, class that (as its name implies) was designed for use with projection displays. It needs the pgf package (for graphics support), which in turn requires xcolor; while this adds to the tedium of installing beamer “from scratch”, both are good additions to a modern LaTeX installation. Beamer has reasonable facilities for producing printed copies of slides.
Talk is another highly functional, yet easy-to-learn class
which claims to differ from the systems mentioned above, such as
beamer, in that it doesn't impose a slide style on you. You
get to specify a bunch of slide styles, and you can switch from one to
the other between slides, as you need. The class itself provides
just the one style, in the package
greybars: the author's
suggestion that users should contribute their own has been
enthusiastically accepted - see (for example) the
Lecturer is a generic solution (it works with Plain TeX, LaTeX and ConTeXt mk ii, but not - yet - with ConTeXt mk iv). By separating the functionality needed for a presentation (using TeX for typesetting, and PDF functions for layering and dynamic effects) a clear structure emerges. While it doesn't have the range of “themes” (presentation styles) of beamer it seems a useful alternative candidate.
Present is designed for use with Plain TeX only; its design is simple, to the extent that its author hopes that users will themselves be able to tune its macros.
Ppower4 (commonly known as
pp4) is a
Java-based support program that will postprocess
PDF, to “animate” the file at places you've marked with
commands from one of the
pp4 packages. The commands don't
work on PDF that has come from
dvips output; they
work with PDF generated by pdfLaTeX, LaTeX, or
dvipdfm running on LaTeX output.
Pdfscreen and texpower are add-on packages that permit dynamic effects in documents formatted in “more modest” classes; pdfscreen will even allow you to plug “presentation effects” into an article-class document.
A more detailed examination of the alternatives (including examples of code using many of them) may be found at Michael Wiedmann's fine http://www.miwie.org/presentations/presentations.html
ConTeXt users will find that much (if not all) of what they need is already in ConTeXt itself; there's a useful summary of what's available, with examples, in http://wiki.ConTeXtgarden.net/Presentation_Styles