I dislike CSS Grid because it takes away almost all the semantic of the HTML. Flexbox at least means your HTML tree corresponds to some kind of structure on the page, CSS Grid means you see this
<div class="GridParent">
<-! random amount of divs without classnames -->
</div>
And you're suddenly required to cross reference CSS to make sense of what's on the page. It's just ugly, even if it is wildly effective.
Different topic, but this could be solved if somebody wrote an IDE that understood all the relationships between your HTML and CSS and let you manipulate it visually, rather than having to manually cross-reference symbols.
<div class="GridParent"> <-! random amount of divs without classnames --> </div>
And you're suddenly required to cross reference CSS to make sense of what's on the page. It's just ugly, even if it is wildly effective.