Differences between LuaTeX, ConTeXt and XeTeX
What are the differences between LuaLaTeX and XeLaTeX?
Why should someone prefer one over the other?
luatex is an implementation of the TeX engine that has the lua programming language embedded in it. Lua functions can be written to do some of the heavy programmatic lifting that the TeX engine is not terribly good at. ConTeXt MkIV is powered by luatex.
XeTeX is an extension to the TeX engine that allows the use of open type fonts installed to the operating system. the fontspec package in conjunction with xetex provides access to system fonts.