When databases first appeared, OOP still wasn't the way to program. Relational databases, on the other hand, gained a lot of traction. And SQL introduced in the 80's by IBM quickly became lingua franca of all databases.
When OOP become popular there were some attempts, but there are some problems. First, true OODBMS is really hard to implement. In case of a relational database, a table and related indexes are fairly simple structures (eg. B-trees).
Another reason is that there is a lot of theory behind relational model, it's directly derived from mathematical set theory. There are known ways to correctly design a relational database (think normalization etc). And last but not least, people already got used to SQL a lot.
Modern-day NoSQL solutions in most cases aren't really a step towards OODBMS. Many of them are still relational, only stripped of JOINs
. Few of them are in fact object stores but are not truly OODBMS, as they are not aware of relations between the objects.
Yet another reason why there is not such a strong push for OODBMS is that there is "poor man's OODBMS" solution — ORMs. This has gained huge popularity, as they are backed by well known, stable and tested DB engines, yet they provide the mapping to objects. Of course, these are not true OODBs.