When you overclock by yourself, you will probably make the warranty on that card become invalid. So, if you GPU dies because you pushed it too far, you don't get a replacement. Also, when you buy a card that is factory overclocked, you are sure that it will run and be stable at those speeds.
Then again, if you get a factory overclocked card you are basically paying more money for the same piece of hardware only at different speeds which you can achieve by overclocking a non factory-OC card. I don't know about factory overclocked cards having better cooling.