C++ preprocessor #define is totally different.
Is the PHP define() any different than just creating a var?
define(\"SETTING
Here are the differences, from the manual
For me, the main benefit is the global scope. I certainly don't worry about their efficiency - use them whenever you need a global scalar value which should not be alterable.