For me the biggest issue with IE grid is the lack of support for auto-positioning of elements. If you don't rely on that for your design you can support IE10+ pretty well.
I don't think the example she uses is a good one. That thing is obviously achievable using absolute positioning, which in this case is arguably easier and will give you much better browser support.
Also, the other examples she uses are really weird. Boxes of varying widths and heights. This is just not a thing in current websites.
The flexbox example where she ends up with 3 items on the first row and 4 on the second is just fantasy according to my experience. That would only work for a manually crafted page, whereas most websites with that much content items are auto-generated from some backend (even if it is markdown files in a static website generator). Otherwise please show me how can I achieve that effect with similarly sized items and how do I make it responsive.
Responsiveness with Flexbox or CSS Grid is best achieved through media queries. You could make a really simple Flexbox or CSS Grid site with no media queries and have it be responsive, but if you want complicated layouts you'd make use of media queries. e.g. named grid-template-areas and media queries play really nice together.
I use a mix of flexbox and floats to achieve any desired layout for RWD
Grid only has 87% browser support
I've been struggling to find use for Flexbox with CSS Grid. Flexbox is good for components still, but CSS Grid can do that stuff too and the automatic spacing with grid-gap is so damn appealing.
(2) This is going to sound stupid...but if you don't have a grid. Flexbox is a more flexible tool in this more flexible case.
I want to left align one element and right align another, keeping them in the same row.
Flex makes this very easy:
<div style="display:flex; justify-content:space-between">
<div>Left</div>
<div>Right</div>
</div>
Does grid also make this easy? <div style="display:grid; grid:auto/repeat(auto-fit,minmax(min-content,0)); justify-content:space-between;">
<div>Left</div>
<div>Right</div>
</div>
There's one gotcha: repeat() doesn't seem to accept min-content as its own value, so I had to use minmax(min-content,0).It's strictly less effort to do this with flex, but I expect that as soon as you have more than two single-word divs as children, Grid becomes more useful.