What kind of data are you displaying where it doesn't matter if you show it as a 10x10 grid (aka, a table of 10 rows and 10 columns) or as a list (aka, a table of 1 column and an infinite number of rows, which in this case I guess would be 100.)?
The context I meant for "data" above was all the data of the page. Navigation elements in headers, footers and asides. Currently these are positioned using floats and they have to be present in the HTML dom in a certain order for this to work. With grids (and to a lesser extent flexbox) the order the information appears in the DOM isn't relevant.
The example you gave of a 10x10 table isn't the same - it's just a table, not a web document that may need to have its data's presentation optimized for several environments. And yeah, you can set elements to display none and/or double send elements and turn on the one you want for a given view context but that's a waste of bandwidth.
I don't see grids replacing tables where tables make sense. Tables don't make sense as a layout grid mechanism. CSS Grids don't make sense as a table replacement either.