<p>When including a header file in C++, what's the difference between...</p>
<ol>
<li><p>including the <em>.h</em> part versus not including <em>.h</em> part when wrapping it in <em>&lt;&gt;</em> signs?</p>
<p>#include &lt;iostream&gt; vs. #include &lt;iostream.h&gt;</p>
</li>
<li><p>wrapping the header name in double quotes versus wrapping it in &lt; &gt; signs?</p>
<p>#include &lt;iostream.h&gt; vs. #include &quot;iostream.h&quot;</p>
</li>
</ol>

Here is a decent link
article.
To summarize, the reason given:
The version of the iostream library that the Standards Committee
  produced was quite a bit different from the CFront implementation.
  {snip}
To ease transition, the C++ Standards Committee declared that code
  including the standard C++ headers would use include directives that
  lack an extension. This allowed compiler vendors to ship the old style
  C++ library headers with the .h extension and the new style headers
  without.
An advantage of not using the .h version:
There are several reasons why new code should be written using the
  extensionless version of the header files instead of the .h forms. The
  first is the unpredictability of such code when compiled on modern
  compilers. As previously mentioned, the result of using the .h headers
  is implementation specific. And as time goes by, the chance that a
  given compiler will have the old style library available decreases.