Таблицы используются для таблиц. Вся страница - не есть таблица, даже если с точки зрения оформления ее можно так воспринимать.
Т. е. меню - это блок меню, контент которого не связан полностью с контентом соседней ячейки (где, к примеру, располагается текст). Шапка сайта имеет отношение к сайту целиком, но не имеет точного соответствия контенту данной конкртеной страницы и т. д.
Поэтому для разметки страницы и ее оформления используются дивы, которые можно с помощью CSS оформить и расположить относительно друг друга как душе угодно.
Для конкретно блока меню используются списки (потому как меню - это в первую очередь список разделов/подразделов).
А вот уже внутри контента могут встречаться таблицы (например прайс-лист, где каждому товару четко сопоставлена цена - все вместе образует строку таблицы; множество наименований и образуют таблицу).
Epsiloncool
Конечно же, вся страница не является набором div'ов. Это еще и заголовки, и навигация, и различные декоративные элеметы, сноски и колонтитулы. В HTML пять для большей семантики даже теги header/sidebar/footer ввели.
Но это вовсе не делает структуру страницы таблицей. И на то есть две причины:
1. Таблица подразумевает некую однозначную связь значения одной ячейки значению другой ячейки. Вы можете назвать, каким образом _одновременно_все_ пункты меню соответствуют контенту? Я могу принять соответствие одного пункта меню контенту, но никак не всех. Аналогично, шапка сайта и контент - разные по своей сути, содержанию и природе элементы. Соответственно, они не являются семантически и с точки зрения простой логики однородными элементами, которые мы можем представить рядами таблицы. Чтобы лучше понять эту идею, нужно забыть о визуальном представлении элементов (т. е. об их расположении на экране, цвете фона и т. д.). И именно это и преследует разметка посредством HTML. Смотрим пункт два.
2. HTML является языком разметки страницы, но не визуального оформления. Под разметкой в данном случае понимается разделение элементов страницы на разрозненные или взаимосвязанные блоки, причем конкретный элемент документа, использующийся для разметки, соответствует семантике и природе тех данных, которые в нем представлены. Именно поэтому в HTML всегда был лишь скудный набор инструментов для оформления - за него должен отвечать CSS (просто когда-то его не было, поэтому в устаревших DT существовали такие теги, как FONT, и атрибуты margin и background).
Разметка HTML по сути своей является разделением частей документа на отдельные блоки с указанием их назначения и семантики (заголовок, таблица _данных_, поле ввода, список и т. д.).
Именно поэтому таблицы не должны использоваться для создания сетки - это уже а) визуальное оформление и б) несоответствие идеологии и назначению таблицы (таблица данных, а не некая сетка) в том понимании, которое принято в HTML.
Таблица и сетка - по сути совершенно разные понятия, которые не стоит путать. Пускай даже сетку можно представить в виде таблицы. Ведь вы не пытаетесь представить список в виде таблицы с одной колонкой.