When you define
grid-area these are directly equivalent. Except one is very human readable the other is still explicit to a fault.
grid-template-… are a way to have grid have some Flexbox like features while still being grid.
You would not want to mix them much but they each have roles to play. And these features play nice with flexbox, so it’s not an either/or but “which best solves the issue” question.
Using CSS grid for page layout is kinda like using Excel to format a letter, it works and produces some amazing results, but you do need to think through it that little bit more.