Package management and seperating stuff into name spaces are two different problems (but related).
An example: I have a program in my path called convert. If I query the system where it is located (which convert) I get the reply /usr/bin. This tells me nothing about the function of the program. Now if this would be organized into some namespace structure (like the name of the package it belongs to or better, something to to with its functionality) I would be much wiser. Sure, I can use the package system to query for this but thats just a hack created when the flat namespace got too large. I like to use the tools available to solve tasks, not write a new one for each problem. The filesystem structure and standard unix commands (such as which) solve this problem, no need for an extra database for this (the filesystem is a good database).