I like that it's statically type checked so you know what types of things can be done at compile time instead of runtime which makes my code way more secure as well as easier to write.
It also has some fairly powerful features such as subtyping for polymorphic recursion (which would make this feature hard or impossible in other languages). If your looking into using Scala then definitely give eta another look! We are solving problems with complex data structures by combining several different technologies including ETLs/Data mappers, Domain objects written in Java 8+, Spring MVC controllers etc., all running within an Apache Spark cluster via Akka Actors. As we're solving these big messy problems there were certain classes / methods where our developers had difficulty writing correct logic because they didn't have good tools available to them - specifically around handling errors.