In my limited experience, it makes the hard cases harder. I had a project where I needed to do some weird linker things and ended up moving to C++ because Cargo couldn't handle it.
I am hoping that buck2 can get easier to use "in the small" and then just switch to it for all things, but it's too immature outside of Meta just yet.