У меня вот с монорепой стрельнул следующий момент.
В монорепе лежат исходники одной системы, которая запроектирована как набор микросервисов.
Ввиду того, что весь код в одном месте, разработчики в какой-то момент решили завести "общую либу" для микросервисов и таким образом ушли от "дублирования", например, DTO классов для запросов между микросервисами. И пошло-поехало. Спустя полтора года получили очень большую общую либу, список зависимостей, которой перешагнул за пару сотен.
Простота такого решения навеяна именно монорепой, хоть и не является причиной такого бедствия.