Your workflow likely involves switching between projects that use different rust versions,
projects that update dependencies, also running a variety of cargo
run, test, check commands, and using
rust-analyzer
in VScode (or such).
What happens is that different compilations are created for each of the version, target, and profiles. Learn about profiles here: https://doc.rust-lang.org/cargo/reference/profiles.html#profile-selection
You can aim to unify the caches (with a shared cache location), and minimize the profiles.