I can checkout component A and run it without checking out its dependency component B, because my dependency resolution tool will download B’s build, not the bare source code.
If I’m working on A and I need to change B, though, then I’ll need to checkout B’s code, change it, publish the changes, start a new build, publish that new build under a new version of B and then update A's dependency file to point to B's new version.
This seems a lot of work, and that’s precisely what Uncle Bob talks about in the Reuse/Release Equivalency Principle. You have to pay this iron price for each component, so they have to be large/relevant/important enough to be worth it.
Having them in separate repos makes the source code and build management easier, and also make the iron price more evident.