I'm not sure it's even a compelling alternative to C++ at this point. The borrow checker is sometimes unpredictable and hard to reason about and the language syntax is not always consistent. I think we will see more adoption in the future but there are reasons why it has not been adopted as much as one would have expected.
Yes. Besides being distinctly more like C++ than C, there are other less complex languages (zig comes to mind) that are contending for that area.