No language besides R uses it today. Other languages even make use of the arrow in different ways. R limits itself to assignment which is already covered by the equal sign.
First, a detail, there are still a few modern languages that use e.g. := for assignment (Maple and TLA+ come to mind). But indeed most languages converged towards =. Still some language might require a let keyword, are they wrong?
In practice, it's a bit of a detail, doesn't change much in practice. There is no way the R core would change this, since it would break pretty much all existing code. So in the end it's a matter of programmer and style guide preferences. There are people who write R code with =.
I can give my personal opinion: since = is used for assignment-like operations with a slightly different meaning (e.g. in function arguments), I prefer to use <- to clearly distinguish them. In the code
my_global <- f(arg = 1)
it's very clear and obvious that my_global is a global variable, and I'm changing the state of the program, whereas arg is more local and doesn't affect the global state.
I find it useful when writing big code blocks with lots of pipes: you can just look for the <- to see what the goal of the code block is, whereas all the function calls with their = inside the block are the details of how it's computed.
Of course, other languages manage fine with only =, each language has its own ways to try and make code clear.