Differences between LuaTeX, ConTeXt and XeTeX
What are the differences between LuaLaTeX and XeLaTeX?
Why should someone prefer one over the other?
This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.
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.