There are lots of reasons why it's not gaining traction more quickly:
* The tooling sucked early on, it's getting better
* They broke backwards compatibility a lot early on, they're getting more disciplined
* The language has the proverbial kitchen sink of features, means a larger variety of programming idioms and it means the code is harder to maintain down the track. e.g. Bob, Alice, Sue and Mohammed can all code perfectly valid and somewhat idiomatic Scala that solves the same problem but in wildly different ways. Unless they work closely together, common idioms don't form and Bob finds it hard to read Alice's code and visa versa. Yes Java can also be unreadable, but because many folks write it in an imperative manner, it's generally very readable.
* Small but vocal parts of the Scala community behaved in a pretty elitist and obnoxious manner "Oh well it's about Category Theory and Monads, clearly if you don't get that then you're an idiot". I'll stress that this never came from Martin & co who invented the language - he's as disappointed about that particular outcome as anyone else.
* See previous thread about difficulty of swapping paradigms when you come from a language like Java. Not a Scala problem per say, but if you started with say Groovy which "feels" like Java then the transition is an easier one.
Now that I've added fuel to the fire I'll step away :-)