Engines: TeX, pdfTeX, XeTeX, LuaTeX, … These are the actual executable binaries which implement the different TeX dialects. The LaTeX format is implemented with both the pdfTeX (pdflatex) and XeTeX (xelatex) engines, for example. When someone says “TeX can't find my fonts”, they usually mean an engine.
Formats: LaTeX, plain TeX, pdfLaTeX, … These are the TeX-based languages in which you actually write documents. When someone says “TeX is giving me this mysterious error”, they usually mean a format.
At a high level, the output format that gets used depends on the program you invoke. If you run latex (which implements the LaTeX format), you will get DVI; if you run pdflatex (which also implements the LaTeX format), you will get PDF.
Is pdflatex an engine or a format?
What is the relation between pdflatex and pdftex?