When your data is literally hierarchical and all you need to do is read/write one Big Object, "just using SQL" makes no sense.
I used SQLite because it makes a lot of sense to use as an application file format[1], i.e. as an alternative to writing directly to the filesystem.
The hierarchical data was a mix of parameters and huge blobs, so text-based JSON was a no-go, size-limited BSON was a no-go, at which point I asked myself if there was a reason to not just use SQLite, and found none.
The ORM was the smallest part of it, I could have written/read from JSON too, but SQLite was just a far better choice for a mix of structured data and big blobs.
The thing it replaced was writing to a file at a predetermined offsets. Which became very fun as the file format changed between versions and backwards compatibility needed to be maintained.