What am I missing?
In Microsoft Windows locks have a lot more authority, such that it is possible for two Windows machines to connect to a Microsoft Access database (file-based, a lot like sqllite) over a file share and not conflict with each other.
Windows machines go out to lunch a lot waiting for locks to clear so that is your tradeoff.
Also, read/write efficiency decreases by an average of 50% because of this wasted space. It's similar to why backup programs (I'm the author of HashBackup) seem to go so slow on small files: if the average file size is 96 bytes, 4000 bytes (more than 97%) of I/O time is wasted reading such small files.
That is just reads.
If you include writes + transaction logs + join queries etc., individual files become unwieldy very soon.