#define директива препроцессору. Устанавливает константное значение в h файле, которое препроцессор подставляет в дальнейшем во все h и cpp файлы, где оно упоминается.
#define строковых значений это не очень хорошая идея, так как сколько раз компилятопр встречает дефайн строки, столько раз компилятор создает такую строку в памяти.
В случае глобальных строк смотрите глобальные константы в т.ч. строковые.
#define однозначно используется для условной компиляции программы под разные ОС, под разные архитектуры, под разные стандарты,..