Тут скорее способ вынести настройки в одно место. Пример: пины USART для терминала. Если их назначать в Си-файле, то приходится скакать и по *.c и по *.h. Опять же - прототипы функций, которые участвуют в интерфейсе. Если вы поясните причины оставлять подобные вещи в *.с для отлаженных исходников и причины поступать именно так, то с внимательно прочитаю. Часто такие тонкости это вопрос идеологии организации исходников.