CSS Grid Layout is a two-dimensional SYSTEM, MEANING it can handle both columns and rows. Grid layout is intended for larger-scale LAYOUTS which aren’t linear in design.
Flexbox is LARGELY a one-dimensional system (either in a COLUMN or a row). Flexbox layout is most appropriate to the components of an application.