LuaTeX is what TeX should have been from the start (and would have been, if the technology of the time had permitted it). Apart from modern font-handling and Unicode, the main thing IMO is the hooks it provides (in the form of callbacks).<p>With other TeX engines (mainly: pdfTeX, XeTeX, or the original Knuth TeX), the only "programming" facility is in the form of macros, which were originally added by Knuth only for some simple text substitution to save typing. He never intended to add programming features into TeX, but of course, it doesn't take much to become "accidentally Turing-complete", and that's what TeX macros became. (There's also some rudimentary support for counters/registers, which IIRC Knuth added after he found users were (ab)using macros to encode numbers using unary or Church numerals.) So the only way to influence anything TeX does automatically, whether it's hyphenation or line-breaking or page-breaking or whatever, is to set up some macros whose blind expansion will ultimately—at a remove of several steps—result in the outcome you want, without affecting anything else (e.g. even an accidental space might get typeset, with undesirable results). This of course is cumbersome and error-prone.<p>With LuaTeX you can program these things at the level you actually intend, e.g. while you can still use macros (or use the `process_input_buffer` callback in Lua), you can now also directly, say, influence the page layout, in a Lua callback that is actually aware of data at the relevant level of abstraction (the vboxes on the page, say), rather than trying to do everything at the lowest (text expansion) level.<p>Knuth has said that he never intended for TeX macros to be used as a full-fledged programming language (he expected people would directly edit the SAIL/Pascal code of the TeX program for anything nontrivial), and that he dislikes each tool coming with its own Turing-complete programming language, and that if a standard embeddable programming language had been available he'd of course have used it in TeX — I think Lua would count.<p>You can see "TeX without TeX" page on the LuaTeX wiki for an example of the power of LuaTeX, typesetting with TeX while completely bypassing TeX syntax: <a href="http://wiki.luatex.org/index.php/TeX_without_TeX" rel="nofollow">http://wiki.luatex.org/index.php/TeX_without_TeX</a> — a more elaborate production system is Speedata Publisher: <a href="https://github.com/speedata/publisher" rel="nofollow">https://github.com/speedata/publisher</a><p>As for myself, here is the most fancy thing I did with LuaTeX: <a href="https://tex.stackexchange.com/questions/401604/book-on-a-single-poster-page/403353#403353" rel="nofollow">https://tex.stackexchange.com/questions/401604/book-on-a-sin...</a> (a "poster" of Kafka's Metamorphosis done just for that answer, never "productionized" into a package or whatever). Also, something possibly illuminating is this TeX-vs-LuaTeX comparison of something hyphenation-related (<a href="https://tex.stackexchange.com/questions/378704/how-to-avoid-line-breaks-that-result-in-short-words-at-line-edges/379802#379802" rel="nofollow">https://tex.stackexchange.com/questions/378704/how-to-avoid-...</a>), and in this answer (<a href="https://tex.stackexchange.com/questions/398310/why-in-2017-does-latex-not-use-tree-like-structures/398372#398372" rel="nofollow">https://tex.stackexchange.com/questions/398310/why-in-2017-d...</a>) I link to some other times I used LuaTeX, though some of them just use the Lua part of LuaTeX rather than LuaTeX hooks, such as computing digits of pi for generating pretty pictures (<a href="https://tex.stackexchange.com/questions/367902/tikz-color-option-for-edges-without-effect/367905#367905" rel="nofollow">https://tex.stackexchange.com/questions/367902/tikz-color-op...</a>).