it requires a lot of discipline for sure.
"It depends" is thrown around a lot; what I've seen working for large companies and on large projects (mostly AAA games, which do use a monorepo typically) is that having a single repo means your dependencies are more likely to be vendored, and updating the vendoring re-runs all tests across all services because dependencies are mapped across the whole project.
Incremental build is also something that becomes more possible, rather than constantly building all source from scratch as we tend to do for smaller projects.
There's a lot to be said for atomic commits, no "merge trains"[0] and things like a "common library" (that everyone ends up building in a large enough team) are just includes and not entire dependencies with all that entails (versioning, updating dependencies etc;).
Having everything in one place also tends to force people to put documentation near their code instead of something else like confluence.
It's pros and cons, and the pro's are kind of meek-sounding until you've experienced it.
[0]: https://docs.gitlab.com/ee/ci/pipelines/merge_trains.html