What is NLG
NLG stands for Natural Language Generation. The goal of NLG is to generate texts automatically from data, with the same quality as if a human beeing had written it.
Natural Language Understanding (NLU) is the exact opposite: transforming text into structured data. NLG and NLU are both subfields of Natural Language Processing (NLP).
You don’t need a Natural Language Generator to generate basic texts, but doing it without a Natural Language Generator quickly becomes tricky. The pratical issues in NLG are:
- 
the use of synonyms and referring expression to avoid repetitions 
- 
the proper agreement of verbs, nouns, adjectives (depending on the output language) 
- 
proper punctuation and spacing 
- 
the ability to properly list things (xxx, yyy and zzz) 
See examples of templates showing the added value of a Natural Language Generator compared to a plain template engine like Pug.