<p>Let say I run this command:</p>

<pre><code>makecert testcert.cer
</code></pre>

<p>Is a private key created? If so, where is it automatically stored in the system even though I did not tell makecert to install this certificate in any certificate store?</p>

It looks like the private key is stored in the file itself.  From the documentation at
http://msdn.microsoft.com/en-us/library/bfsktky3(VS.80).aspx
it states...
Caution
You should use a certificate store to securely store your certificates. The .snk files used by this tool store private keys in an unprotected manner. When you create or import a .snk file, you should be careful to secure it during use and remove it when you are done.