TeX internally works with nodes. Every character you type, every space you use (like the space between paragraphs), every color command will be changed to a nodelist. The boxes and linebreaking algorithm operate on these nodes. In LuaTeX (in lua) you can create nodes manually and feed this list into the linebreaking algorithm and you get back a box of a perfectly nice typeset paragraph. Then you can even operate on these nodes again (or just before linebreaking) and ship out this paragraph into the pdf file. Nobody cares where you get the input from. There are several libraries included with LuaTeX and available for inclusion, such as LPEG (for really nice and sophisticated parsing), luasocket (internet access), luazip, etc. Even luaexpat (xml) and luasql (Database access) are available, so that makes LuaTeX perfectly suited for database publishing (which is what I am doing)
No other TeX engine can do that at the moment!
For the german speaking hackers, I am running the site
where I write technical stuff about LuaTeX (and some announcements), but beware: all in german.
[Edit: here is the site with google translation to english:
http://translate.google.com/translate?js=y&prev=_t&h...
]