The chief problem that I see with WAL is that it breaks ACID with databases that are ATTACHed, as the documentation shows:
...I forgot how significant these problems are. These are quite serious.
"However, WAL mode has notable disadvantages. To accelerate searching the WAL, SQLite creates a WAL index in shared memory. This improves the performance of read transactions, but the use of shared memory requires that all readers must be on the same machine. Thus, WAL mode does not work on a network filesystem. It is not possible to change the page size after entering WAL mode. In addition, WAL mode comes with the added complexity of checkpoint operations and additional files to store the WAL and the WAL index."
https://vldb.org/pvldb/volumes/15/paper/SQLite%3A%20Past%2C%...
All the time. I suspect this is similar.
Indeed it would!
"WAL provides more concurrency as readers do not block writers and a writer does not block readers. Reading and writing can proceed concurrently."
https://www.sqlite.org/wal.html
I think the people advocating for SQLite to be used in more places are all assuming write ahead logging is enabled.