Great question! Prefect tries to be unopinionated in that regard so that you can do whatever approach suits your use case. One repo per project makes sense if all your flows are entirely different projects, but if your flows need to share some code, then a common repository for some flows can be more optimal.
This Github discussion shows some examples from the community and
this repo shows one example I built to package flows with common dependencies.