A template engine is a component that understands some kind of language and translates, or processes, documents (in a general sense, not strictly files) written in that language producing a result.
The normal process for a template engine is to take a template (name for a document written in the language that the template engine undestands) process the template and produce some result.
In the javadocbuilder plugin context, a template engine takes two inputs. One is the input that comes from the template, but another input is the project files. The information about the project is exposed to the template engine in such a way that it can be accesed from the template.
The javadocbuilder plugin currently supports only jakarta velocity as template engine, but plans are to include jelly support in a near future. Actually, the template engine will become an extension point. And the template engine will be an entire plugin.