Искать баланс. Обе крайности не очень хороши.
Всё россыпью - слишком много запросов (про http/2 слышали, но в реальной жизни небольших/средних проектов че-то пока не встречали).
Объединять всё - риск получить огромный бандл, который тащит кучу лишнего и потому замедляет первичную загрузку.
Обычно имеет смысл CSS разбивать на небольшое количество бандлов по областям применения. Условный пример: глобальные стили, стили для главной и для внутренних - чтобы на главной не тянуть лишнее, но закэшировать нужное в дальнейшем. Со скриптами что-то похожее. В спрайт совать только иконки.
Ещё распространенная практика - если у вас есть критичные стили и/или скрипты, которые должны быть загружены максимально быстро, то их инклюдят прямо в тело страницы (не более нескольких КБ).