I'm using it because due to performance and maturity requirements I decided to build my app on the JVM. Among the JVM frameworks I selected Play for its features (development workflow, statelessness, async, REST/JSON). Given the choice of Java or Scala, I selected Scala because it is more expressive (less, clearer code) and the functional style makes it easier to work in asynchronous and immutable style. Also, I wanted strong typing and didn't want to use Groovy or Clojure.
2. It's difficult to find implicits. If I am looking for a Haskell typeclass instance, I know it will probably be defined either in the same module as the type, or the same module as the typeclass. I couldn't work out where to find implicits.
It's easy to get lost in the type system if you use type-complex frameworks like Slick.
Right now, there are a lot of frameworks to choose from and to evaluate. And there are a lot of "experiments" going on. I think that this will improve as the community matures and settles on fewer ways to do things.
We've been using Scala now for 18 months in production, and I sometimes feel that library designers need to step back and try to not overuse the power of the language.
Yah, it's not easy to find the implicit and definitely need to use a solid IDE to track these things down. I've gained enough experience now that I can track things down quickly but it's taken me a while to get here. I wonder if others will be willing to do the same or adoption of the language will stagnate.