Because AFAIK the filesystem is at the same time a huge API and designed for a different use case. I can think of the following examples:
- very flat structures: storing hundred of thousands of files in a single directory will fail
- designed for local disks and NFS is a leaky abstraction:
- running a system using on locks will fail
- cache behaviors work fine for the "humans browsing files" usecase but not so much for other cases
probably many more reasons