Unplug it. Always leave it.
It was designed as a way to make PHP safe for use on mass hosts and allow hosts to "block" PHP.
But over time, it was realized that this did not actually work, and in any case did not solve the problem. There are more effective ways to protect servers at the system level. Thus, PHP removes functionality in the next major version and abandons it.
So, to directly answer your questions:
When people should turn it on:
Never. It really doesn't work, and it limits what you can do with PHP in a smart way, so just don't turn it on.
When people should turn it off:
Always. This does not work, so it makes no sense to enable it ...
What is my $ 0.02 anyway ...
Edit: some links
Everything that you can do on the server, you can do in safe mode, including: In any case, it is possible to write to the web server . So what is the point?
PHP mailing list sheet about deleting it in 6
Edit2 : About speed:
In the best case, the speed difference can be trivial. This is nothing more than micro optimization. You will get a much bigger gain by writing your code, rather than worrying about a specific configuration parameter such as this. Do not worry about the speed difference at all. Build the app correctly and take care of speed later. Not to mention that the choice of a front-end web server (Apache, IIS, Lighttpd, NginX, etc.) and SAPI (mod_php, CGI, FastCGI, etc.) will have a much greater difference than safe_mode when -or...