The main thing is that the CreateDirectory method implicitly checks if the directory exists before trying to create it.
To read the code, it is better to first use the explicit Directory.Exists method.
I also strongly agree with @SimonWhitehead on the defensive programming front. Showing that you know that the pit is falling ... and actively actively opposing them explicitly in your code is good :)
I think we can all see the fact that the second method does the same, but, is it cheaper in terms of being more readable? No.
Anyone who knows the framework will probably not agree, and I can too. But:
Always indicate as if the person who is finishing work with your code is a violent psychopath who knows where you live.
http://www.codinghorror.com/blog/2008/06/coding-for-violent-psychopaths.html
Edit 2: I have a strange feeling that the compiler is doing this. Assembly programmers could detect this before the production of the IL.
source share