Что все-таки лучше table или div?
Никто из них не лучше и не хуже. Всё, как обычно: у каждого из них своё назначение.
Таблицы
С помощью тега
<table>
верстают табличные данные.
При этом никто не мешает менять им display и перестраивать как душе угодно.
Бывают задачи, которые на самом деле не решить с помощью table, но редко.
div
Элемент, не имеющий семантической нагрузки.
Его рекомендуют использовать, когда нет других, подходящих по смыслу тегов.
(Это написано прямо в спецификации
https://html.spec.whatwg.org/multipage/grouping-co...)
Поэтому,
при верстке используют подходящие по смыслу элементы (семантика).
Т.е. если нужно сверстать список, то его верстают с помощью
ul
или
ol
, секции размечают тегами
<section>
,а не
<div>
. И т.д.