I think that biggest advantage comes when used as "setting file"
#define USE_FAST_AGORHITM
//#define USE_SLOW_ONE
And global "constants"
#define MAX_NUMBER_OF_USERS 100000
There are programs written mostly in macros (Check for
instance Brian Gladman's AES implementation
http://www.gladman.me.uk/cryptography_technology/index.php )