Преимущество использования констант для строк, даже если они используются только один или два раза, состоит в том, что компилятор может проверить правильность написания имен идентификаторов, чего не может быть, если вы просто используете строковые литералы - - так что как только вы получите правильные строки, вы с большей вероятностью подберете определенные типы опечаток во время компиляции. Это обычно полезно (по очевидным причинам) - хотя иногда это МОЖЕТ быть немного раздражающим для того, кто бы ни встречал ваш код следующим, регулярно находя определение каждой константы, чтобы увидеть, к какой последовательности символов она фактически относится.
Одна рекомендация, которую я бы рекомендовал для C (и, действительно, C ++), состояла бы в том, чтобы использовать статические массивы const char для хранения строк, например ::
static const char KEYWORD_WIDTH[]="width";
Это облегчает просмотр в отладчике, и вы гарантированно получите только одну копию каждой строки.