Не согласен с тем, что DIV - вчерашний день.
Да, есть семантические теги (но это частный случай блочного элемента со своим назначением и иногда с доп.параметрами по умолчанию), и есть общий базовый блочный элемент div (который я и использовал, потому что не знал назначения элемента в вопросе izrukvruki)
Но блочная верстка это есть что ни на есть "сегодня".
Да, есть flex, есть grid (это не теги, а css-подходы, которые так же применяются к "блочным" тегам). Это завтра, которое вот-вот наступит, но опять же оно не столь кардинально, чтоб называть блочную верстку вчерашним днем. С момента, когда прогрессивный инет перешел на блочную верстку появился только один известный мне кардинально другой способ отображать контент на веб-странице - это отрисовывать его на канвасе. Но это уже не верстка, это уже почти анимация (сродни флеш), которая имеет большое количество недостатков и подходит только для узкого количества случаев.
Так все-же в чем преимущество блочной верстки по сравнению с табличной:
1. Адаптивность. Это самое главное преимущество блочной верстки. В эпоху экранов поголовно 1024х768 это было без разницы, теперь же, когда сайт должен удобно отображаться и на мобиле и на ноуте и на экране телевизора - без адаптивности никуда.
И здесь дело не только в фиксированной ширине, а в том, что в зависимости от разрешения блоки не только ресайзятся, но и более удобно компонуются, и в том, что на меньших экранах можно очень сильно видоизменить какой-то блок управляя только его стилем отображения.
2. Семантичность. DIV - это общий случай блочного элемента. Помимо него есть еще куча более конкрентых тэгов для той или иной ситуации. FOOTER, HEADER, ARTICLE, SECTION, NAV, FIGURE, DIALOG, ASIDE - эти тэги не имеют никаких преимуществ перед обычным дивом, но наличие этих тегов в верстке делают исходный код понятнее как разработчику так и поисковым роботам (СЕО будет отдельным пунктом).
3. SEOЭто скорее комбинация первых двух пунктов. Но если ты хочешь, чтоб твой сайт хорошо индексировался поисковиками ты должен заботиться о адаптивности и семантичности. Поэтому идет отдельным пунктом.
Сайты неадаптированые под мобильную верстку - хуже индексируются (гуглом так точно, про другие - не знаю).
А использование семантических тегов позволяют делать дополнительные акценты на важные контентные части страницы или, наоборот, указать на навигационные элементы. Еще очень часто в СЕО рекомендуют главный контент писать перед декоративными или навигационными блоками. Да, в блочной верстке, часто бывает трудно это сделать, в табличной же - вовсе не возможно.
4. Изменяемость и поддержка Если ты решил, что левую и правую колонку нужно поменять местами или вклинить еще одну колонку - то в табличной верстке это может привести к очень серьезным проблемам. Тебе нужно будет перешерстить все TR-ки и внести в них изменения. А если есть еще collspan - тогда еще и их нужно будет перешерстить. С ужасом вспоминаю те моменты, когда нужно было поддерживать разбитый на подшаблоны сайт с табличной версткой.
Отдельным гемороем будет динамическое изменение такой страницы, например при помощи джаваскрипта (или частным случаем такого динамического изменения является адаптивность - изменение отображения в зависимости от размера экрана благодаря media-query).
5. Компактность html кодаКод
<main class="block-user-profile">
<header>Профиль пользователя Шуруп</header>
<article>
<h1>Биография Шурупа</h1>
<p> Родился 5 декабря 1982 года в городе ... </p>
<p> 1999 году окончил среднюю школу №17 города ирпеня </p>
</article>
<aside>
<header>Краткое </header>
<section class="about">
<ul>
<li>рост: 186см</li>
<li>вес: 106кг</li>
<li>цвет волос: брюнет</li>
</ul>
<details>
<ul>
<li>Зарегистрирован ...</li>
<li>Последний раз был ...</li>
<ul>
</details>
<button class="show-more">Больше</b>
</section>
<section class="contacts">
...
</section>
</aside>
<footer>
<a href="mailto:...">написать сообщение</a>
</footer>
</main>
Чтоб понять в каком блоке ты находишься достаточно взлянуть на парочку родительских элементов. В таблице же - ты всегда в td, или в виде исключения в th.
Благодаря html5-тегам и минимуму классов можно оставить в верстке только "ЧТО отображать", и исключить "КАК отображать", тем самым пенести вес страницы на css. Хотя в современном мире вес не слишком важен (по крайней мере в контексте верстки), но может быть ощутим при частых ajax запросах.
При грамотной расстановке тегов и классов, оперируя вложенностью можно писать достаточно простые css-селекторы, которые явно и однозначно описывают как какой блок отобразить.
В той же таблице в нужно обязательно давать класс всем TD-шкам, чей внешний вид мы хотим изменить.
И ложка дегтяЕдинственный существенный недостаток блочной верстки по отношению к табличной - это большая завязанность на css. Без css (например, если файл не загрузился) блочная верстка выглядит откровенно стремно. Табличная же верстка в этом плане выглядит удобоваримо. Элементы страницы все-равно помещаются примерно на свои места.
Но преимущество это сомнительно при всех недостатках выше.