The idea is that the end user who builds the book can select transposition (say to trumpet), which tunes to put into the book, turn lyrics on and off, turn rehersal markings on and off, tunes have several versions (of which you can select one), uniformity of presentation (which is taken away from the individual tunes and centralized), font, indexes of various kinds (I already have index by poet and by composer) and more.
I still need to develop a GUI for this but you are supposed to be able to do this without editing any lilypond and using a simple GUI.
In addition I can render any tune individually (ofcourse).
This is all possible with just working with one big (28,000 line) file. Or just lilypond snipplets and includes, with no templating. It's just harder. Much harder.
I could have done this with guile I expect but I find the language not appealing. Python is much more to my taste.