とどちらを使うべきか?

以下の記事の抄訳
C++ Tip : Should I use iostream.h or iostream? - CodeProject

結論から言うと、iostream を使うべき。

理由として、挙げられているのは以下のとおり

  • .hという記述方法は5年も前に廃止された。廃止されたものを使い続けるのはよろしくない。
  • がテンプレート化されたクラスや、ワイドキャラクタをサポートしているのに対して、は char しかサポートしていない。
  • C++標準仕様においてのインターフェースは微妙に変更されている。従って、といくつか違いが存在する。
  • コンポーネントは std 名前空間に定義されるが、はグローバルに定義される。

上記のような違いから、を混在させて使用すると、問題が発生する場合があるので注意が必要、とのこと。

追記:2011/08/29

コメント頂いたので、もう少し調べてみた。
そもそも、上記に挙げているiostream.hというヘッダファイルは「標準」には存在しなかったようだ。おそらく、標準が固まる以前に特定のコンパイラに付属していたものに関する記述と思われる。

標準で提供しているヘッダファイルの名前に関する過去の経緯については、以下のページが参考になる。(回答内容を裏づける公式な情報は見つけ切れなかったが、おそらくそのとおりじゃないかと思う)

なぜ、C++の標準ヘッダをインクルードするとき拡張子をつけないのか。 - C・C++ - 教えて!goo

あと参考になりそうなページ