Pointer ownership is the most important feature of Rust, and everything is built around it. The management of memory, auto-freeing of resources (a mutex unlocks simply when it goes out of scope). It also ensures that no piece of memory has more than one pointer which is mutable at any one time, allowing many optimisations that const in C++ does, but without actually having to annotate all your variables. You can also guarantee that a new thread shares no memory with another thread, preventing many types of race conditions. Goodbye to memory leaks, goodbye to buffer overflows, goodbye to use-after-free, goodbye to null pointer crashes.
Pointer ownership prevents memory bugs and concurrency bugs. When you have the combination of aliasing, mutability and concurrency is when you have all of these Heisenbugs. Rust attacks it from the angle of not having aliasing. You can have mutability and concurrency, but only one thread should have ownership of the thing being modified.
I'm following Rust more closely because it has new ideas for systems programming. Go has no new ideas.