I actually think there's a need for both methods, applied to mostly different files. There are files that are part of a larger logical structure (source files in a project or chapters in a book you're writing), and these are stable enough to get a familiar filesystem location and the files have familiar names; there are also files that are not given memorable paths or names (either because the user doesn't expect to need them again, because the user didn't think about naming, or because the user's choice of name turned out not to be memorable), and these can be found with search.
I think the directory method is several orders of magnitude more effective at handling those files for which it is at all useful, so abandoning it would make certain important things extremely inefficient for many people. But it's also nearly useless for many other things, and search is better for those. In real life, I don't put every paper I have into some folder or other, because that kind of classification doesn't really make sense for everything; but I do put all of my tax records for the same year into a folder, and even having an effective content search wouldn't mean I could live without these folders, because I sometimes need to go through exactly those documents, and they don't share any content features which are distinctive.
I'd actually really like to see a system where users get some storage with names and some storage that's indexed, where either can be used but the defaults are sensible. Mainly, I think that files should only be in some particular directory when created with a "New File In This Directory" interface, and otherwise they're all in a single directory with random names that gets indexed. That is, using filenames for files should be supported and efficient, but there shouldn't be any encouragement to do it except when the user actually wants to.