Например, сделан удачный модуль. Поэтому используем его в разных проектах (это раз)
и с разными процессорами одного семейства. Например, AVR. Это два.
---
Конечно, можно его copy/paste в другой проект.
И под другим именем, с добавлением необходимых коррекций.
А можно поставить вначале:
include "project.h"
И уже этот заголовочный файл заполнить необходимым для каждого проекта.
А сам модуль останется неизменным.
---
И, наконец, количество инклюдов вначале файла резко
сокращается, что удобно.