Они друг друга не исключают? Я плохо представляю как на проекте могут применяться оба подхода.
легко. Есть общая дизайн система, которая описывает стандартные стили кнопочек, попапов и так далее.
Далее допустим у нас есть админка, в которой все кнопочки имеют какие-то дополнительные стили или поведение.
В таком случае появляется компонент AdminButton, который обертка над кнопкой дизайн-системы