Databases are great for storing data that needs to be cross-referenced and easily searched. But the problem with databases is that they require a lot of overhead, in terms of both hardware to run them and software to access them.
The other problem with databases is that everyone who develops one ends up using a slightly different schema, even if they're storing the same data. This makes it difficult to write general-purpose applications that don't need to have specific information about each installation's database layout provided to them.
One solution to this problem is to use a directory-oriented storage mechanism rather than a database. In a directory, the same fields are always used for the same types of data.
LDAP grew ...