Earlier quoted context omitted.
For a long time, css was a huge step backwards from what we were accustomed to with desktop application layout mechanisms. Web-apps were "a thing" starting in the very early naughts, yet just getting stuff to stick where you wanted it on web page required a bunch of stupid hacks and accommodations. Of course people resorted to using tables for page layout. The display:table thing was just a continuation of that. Whol…
It is still not clear to me why you discount display:table as a valid and useful tool for placing content in a grid. Sure, it is not as sophisticated as Display:grid eg it doesn’t support changing the number of columns depending on the viewport width and it doesnt support elements overlapping multiple grid cells. But many common “full-page” layouts, like header, sidebar, footer can be expressed using “display:table”.
So if you wanted to "do right" you could not because IE6 was still "a thing" and did not support display:table. You were forced to use actual tables for layout or do endless tedious workarounds to make things work.
Who to blame? The W3C? Microsoft? I don't know but I glad those kinds of problems are mostly over.