Hierarchical and relational database models each have their own merits and demerits. Hierarchical databases are best for mission critical applications where data structure relationships are predefined, offering faster access times. However, their call structures can become complex and have referential integrity issues. Relational databases are better suited for unstructured or scientific data where relationships are unknown until runtime, providing flexibility through SQL queries but requiring more I/O processing and having a more complex design.