XHTMLでは、文章構造と表示構造との分離を目指すべく、CSSが導入されたはずなのですが、それを意識したり理解していいないデザイナーが使うと、結局役に立たないXHTMLができあがることになります。この場合の役に立たないというのは、テーブルタグを使ったデザインと結局変わらないという意味です。
少なくとも、文章構造を維持したXHTMLであれば、h1, h2, h3 による章・節がわかり、かつ、主要な文章はpで囲まれて、それらだけとりだせば、文章として成り立つページが生成できるべきです。このタグについてのポリシーを無視して、デザイン用タグをがりがりと書いていくというのはいかがなものだろうかという気がします。
商用サイトでは、広告や見た目の調整用にdivやspanを使うことはよくありますが、デザイン摘要のためにpやh2を使うのは止めるべきでしょう。
たぶん、おすすめは、レイアウト用にdivを使って、各ブロック内では文章構造を導入するという方法になるはずです。広告用ブロックなどはdivで囲い、かつ文章構造用タグは一切使わないようにして、文章構造に悪影響を与えないよう配慮すべきでしょう。