Использование divinstide tdне хуже, чем любой другой способ использования таблиц для разметки. (Некоторые люди никогда не используют таблицы для разметки, и я один из них.)
Однако, если вы используете a divв a, tdвы попадете в ситуацию, когда будет сложно предсказать размер элементов. По умолчанию для div ширина определяется по родительскому элементу, а по умолчанию для ячейки таблицы определяется ее размер в зависимости от размера ее содержимого.
Правила того, как divдолжен быть размер, четко определены в стандартах, но правила того, как tdдолжен быть размер, не так хорошо определены, поэтому разные браузеры используют несколько разные алгоритмы.