lst = {{{a, b}, {c, d}}, {{e, f}, {h, i}}};

You can use [`Tuples`](https://reference.wolfram.com/language/ref/Tuples.html) or [`Outer`](https://reference.wolfram.com/language/ref/Outer.html) or [`Distribute`](https://reference.wolfram.com/language/ref/Distribute.html):


    Tuples[lst]
>{{{a, b}, {e, f}}, {{a, b}, {h, i}}, {{c, d}, {e, f}}, {{c, d}, {h, 
   i}}}

    Join @@ Outer[List, ## & @@ lst, 1]
> {{{a, b}, {e, f}}, {{a, b}, {h, i}}, {{c, d}, {e, f}}, {{c, d}, {h, 
   i}}}

    Distribute[lst, List]
> {{{a, b}, {e, f}}, {{a, b}, {h, i}}, {{c, d}, {e, f}}, {{c, d}, {h, 
   i}}}