When should I use the Magento Compiler
[DISCLAIMER] This answer is only meant for the compiler in Magento 1, the compiler in Magento 2 has a complete different purpose/effect
You should use it never.
Because PHP has developed several mechanics to improve applications containing lots of files.
Means: the php opCache in current php version gives way better performance improvements, if correctly configured. For example to use a high enough limit for cached files. Also the opCache has improvements for functions accessing the filesystem which work on a deeper level then aoe_classpathcache and improves performance even more.
In the end we have an autoloading which does not need more then a few ms without the compiler. There are even cases, where the compiler did harm to performance. Not to mention the crazy time consuming problems to debug applications using the compiler.
also, the opCache does not only improve autoloading, the filesystem function optimizations even improve template and layout file loading.
http://php.net/manual/en/opcache.configuration.php
"When should I use the Magento Compiler"
If for some reason your system does not have a PHP Accelerator installed ( unlikely but possible )
If your running a very old version of magento ( you really shouldn't be )
Why should you keep it disabled ?
I totaly agree with Fiasco Labs comment above. While you didn't give your magento version number, this is true for all magento (CE) versions over 1.6.1, if you enable the compiler on a system that already has a php accelerator ( like PHP-APC etc ) your entire store, from admin pages right through to a customer checking out will be measurably slower, worse yet , many of the plugins/mods you find at the magento connect will not function correctly with compiler active.
In short, in 2014 there is never any good reason to enable the compiler.