Основное различие между CSS Grid Layout и CSS Flexbox Layout в том, что :

flex предназначен для позиционирования элементов в одном направлении, то есть, либо в строке, либо в колонке. Флекс - упр. содержанием

Grid же был разработан для позиционирования элементов в двумерной системе, то есть, для одновременного позиционирования и в строке, и в колонке. Грид - упр. контейнером