Pdflatex is a rewrite that compiles directly to PDF.
Xetex is a rewrite that supports Unicode and TTF/OTF fonts.
Luatex is a rewrite that supports Unicode and TTF/OTF fonts and is scriptable in Lua.
Oh, I forgot: LuaJitTex is a descendant of LuaTex that uses LuaJit to compile.
(La)TeX gets the same treatment as Vim is getting right now with Neovim [1]. A full refractoring to make code from the 80s readable by a larger group, make it faster (some kind of JIT compiler would be nice) and just cleaner in every way.
[1] http://neovim.org/