Garbage collection isn’t the only advantage.
Straight up program correctness is drastically improved thanks to sum types, enumeration, and other features of Rust.
These do come with some upfront cost. Having used Rust for years, I think these costs tend to be overblown. They disproportionately impact newcomers (which in and of itself is a problem!) and particularly those who don’t care about learning to write new languages idiomatically. Still, though, it’s usually at least a little slower to go from zero to fully functional.
However in my experience Rust programs require far less ongoing maintenance which is where the vast majority of time in software is spent. New features tend to be added more easily and entire categories of bugs (more than just memory safety) are completely prevented by the type system. Even large refactors are usually relatively easy and once it compiles, it probably passes the tests too.
In some cases every additional day you’re late to launch is disastrous. But when it’s not, the time savings you get from not chasing down runtime errors, nil dereferences, unhandled exceptions, issues stemming from new and partially-handled enum variants, etc. end up recouping the upfront costs tenfold.
The upfront costs do make Rust less competitive in areas that have quickly-changing requirements. And that’s totally reasonable, no language is perfect at everything. But the further you get away from sales-driven users and the closer you get toward slower-moving core infrastructure, the more the reduced maintenance costs start paying off.