And what requirements this case violete?
http://en.wikipedia.org/wiki/Dodge_v._Ford_Motor_Company
The weird syntax is basically result of getting Prolog without unification plus processes, but I don't think is that bad (I first hated it, but after some use I liked it more than Lisp, basically because I like pattern matching more than using car and cdr).
The invariable variables are also from this source. In logic programming, variables can be bounded or not, the implementation search for possible assignments. I'm not sure if these are particulary usefull for Erlang, but similar variables are used by Oz programming language for to obtain deterministic concurrency, also known as dataflow computing, that is a lot easier to reason about and programming than full concurrency.
What makes Erlang relevant is a solid implementation, a well tested VM and many libraries/utilities for the context of distributed programming (unfortunally text processing is not in this niche); and excellent documentation (the concurrent design patterns that they documented and implemented are valuable even if you don't want to program in Erlang).
He has not acquired a fortune; the fortune has acquired him. -- Bion