Since I deal with some things like this for work. I will have to say that this that is usually true it's not always true.
There are efficient ways of handling large amounts of flat data files even massive numbers of them.
Folder trees with a file that gives locations does work really well. So long as it's programmed properly.
The mail archive we run does this and I can pull one message out of millions that was received years ago that is buried in a zip file in a fraction of a second.
BUT, the entire app was written with that in mind.
So, no it's not that it cannot be done. Just that it should not be done unless you have a specific reason.
-Dave