> You sound like the kind of person to push at work for a database when a file would suffice, introducing needless complexity
Simplicity versus complexity is not a linear scale like you describe.
Complex tools can lead to simpler implementations. This is the key people are missing.
For example, C++ is much more complex than C. Okay, now build a generic sequential data structure. It's a quarter the LOC in C++ versus C, and it's a much simpler implementation. Because C lacks the tools, so we have to use macros or maybe void pointers.
In this case, imagine you need to aggregate lots of data from different places, eliminate some of it, collapse some of it etc. For a reporting type thing.
Well, SQLite is more complex than XML. But doing this in SQL is much less complex, because XML lacks the tools. SQL is built for this, so you can do it in a quarter the amount of code, or maybe even less.
> In fact, any database is more complex than a text file.
This statement is true, at a very superficial level. But it is missing all the nunace that goes into why would someone be using this file.
Are you comparing opening a text file in a text editor vs. opening the db.sqlite file in a text editor? Yes, of course the text file is more usable.
But what is the use case of just staring at the file? I can't imagine any.
If you are someone who wants to programmatically use the contents of that file (outside gnucash application), surely you are writing code to process the data. And thus, being able to use SQL is massively more convenient.
In fact, any database is more complex than a text file.
You sound like the kind of person to push at work for a database when a file would suffice, introducing needless complexity.