CSS Grid was the first specification for page layout using rows and columns (grids) since the creation of the web. Everything else prior was a compromise.
Flexbox is for laying out rows or columns; while you can do some limited page layout, that's not what it's designed for. Just like tables and floats weren't designed for page layout either.
Another way to grok this: CSS Grid is for two dimensional layout and Flexbox is for one dimensional layout.
Flexbox and CSS Grid were designed to work together, each doing what it was designed to do.
CSS Grid was the first specification for page layout using rows and columns (grids) since the creation of the web. Everything else prior was a compromise.
Flexbox is for laying out rows or columns; while you can do some limited page layout, that's not what it's designed for. Just like tables and floats weren't designed for page layout either.
Another way to grok this: CSS Grid is for two dimensional layout and Flexbox is for one dimensional layout.
Flexbox and CSS Grid were designed to work together, each doing what it was designed to do.