Перекомпиляция зависимого кода стоит дорого: компиляция требует времени, особенно на таком синтаксически сложном языке, как C++. Исторически сложилось так, что для большинства компиляторов C++ это было чрезвычайно дорого. Но что еще более важно, зависимый код может оказаться вне вашего контроля. Изменения, требующие перекомпиляции, означают, что кодовые базы по всему миру требуют перекомпиляции при обновлении вашей библиотеки. Это значительно усложняет обновление, чем если бы ваша новая версия была совместима с двоичными файлами.
Прикрепляю к посту несколько видео по теме: