This site (from nx), while biased, explains it best. https://monorepo.tools/
In a poly repo setup, agents are less effective having to infer changes across repo boundaries using specs rather than code as context. Changes that impact multiple repos are also much messier to wrangle.