Its problem that you always have to update the index, which can be problematic in fast changing systems (and quite slow in some cases).
The greatest disadvantage is that you need root rights to update the index.
You can have arbitrary indices being created by arbitrary users. The database(s) that is(are) used by the locate command can be specified by command-line option or by an environment variable.