So a lot has been written on this topic already. I would personally direct you to read this (on Erlang, but Elixir is basically Erlang with nicer syntax and a few added bits) - https://ferd.ca/the-zen-of-erlang.html
Fundamentally though, Erlang/Elixir is a language built from first principles to achieve reliability in concurrent, distributed contexts. It's quite unique in that regard. Even the language it's most directly compared to (Go, in having go channels that are sort of but not quite like Erlang/Elixir processes) is built instead from concurrency first, not reliability (and having concurrency flow out from that as a required feature).