Traditionally, you converted your LaTeX source file to a DVI file, which could then be converted to PostScript with dvips. This, in turn, can be converted to a PDF file by ps2pdf:
latex dvips ps2pdf text.tex -------> text.dvi -------> text.ps --------> text.pdf
This requires all the graphics to be EPS files. But that's not a major problem, as raster graphics can be converted to EPS. Furthermore, the scalability of vector graphics means clean-looking figures at all resolutions. And vector PS is usually very compact.
But what about using photographs, which are usually saved as JPEGs? This really isn't a problem, because the jpeg2ps command (from Debian's jpeg2ps package) wraps JPEG images in an EPS header.
The main drawback is the large number of conversions; there are many places to make mistakes. Nevertheless, it can be done reliably [see details].
If you don't need PostScript output, you can save a step by going directly from DVI to PDF format by using dvipdfm:
latex dvipdfm text.tex -------> text.dvi -------> text.pdf
Once again, the figures must be Encapsulated PS. So you have compact, scalable graphics — with one less step. [See details.]
Of course, this still produces a DVI file as an intermediate. Do you really need that? If not, there's pdflatex:
The pdflatex program produces a PDF file directly from the LaTeX source:
pdflatex text.tex --------> text.pdf
That looks pretty painless; but there's a catch. While the previous methods employ EPS exclusively as the graphics format, pdflatex won't accept EPS directly at all: you have to convert all the graphics to JPEG, PNG, or PDF (!) before compiling.
That isn't as bad as it sounds, because EPS can be “wrapped” with PDF headers to become PDF and still have scalable, vector graphics. And JPEG is a compact format for photographs, while PNG is a very compact way to store images with sharp outlines without introducing compression artifacts. (See details.)