If our interface for saying what we wanted to do was better we would have no need for the file name. What we actually want to do is describe the object with which we wish to interact using a number of its properties or attiributes.
With today's computers most users select the file they want from a list presented to them using a mouse. This is a radical change from the days when the file name had to be typed at a command line. Even at the command line, wouldn't it be nice to be able to say in some way "latest Apache log" rather than having to know that on this system that file will be in /var/logs/apache2?
The natural objection in our mind is "but the computer needs that unique name to identify the file". No it doesn't. The computer will simply translate that path and name into an i-node (or whatever your filesystem equivalent is) which identifies the start of the data you want. When you click your mouse on the image of that photo you want to edit there is absolutely no need at all to go via the 'name' of the file. In fact the name of the file that came from your cammera is probably something like CIMG004545.JPG: a virtually meaningless identifier.