We have stagnant prices because the buying frenzy is over (that ended in early 2018) and the panic selling frenzy has also appeared to stop, at least for a while
That doesn't explain why the price action is so restricted for so long
If you look at Bitcoin's volatility in 2013-2018, you will see that while there were periods when the price didn't change much, it still wasn't stagnant. And now we have Bitcoin's price which we hadn't seen till the fall of 2017, i.e. most of Bitcoin's history, and it is basically stuck in a very narrow range, which raises eyebrows. And there is a reason for that. The current situation may be called a "potential well" of sorts, so whenever there is a hint on a strong price movement, either strong resistance or strong support instantly builds up
So if you ask me, that can be explained only if you admit or take into account there is a massive amount of shorts at play, which limit the price action in both directions. Indeed, there is still a possibility of a breakout, either via extreme manipulation aimed at wiping away these shorts or via somebody actually having an intention to buy or sell enough bitcoins that no buying or selling wall will be able to hold back
Why can it not? It's fact that price is a product of demand and supply. I think the big difference to 2015 is that the market is more established and well known now. Anyone who believes in btc has had the chance to be made aware of it and buy some, they've already invested and now don't have much more to invest. On the flip side, we've been bearish for a long time so anyone wanting to sell has had ample opportunity. The shear amount of dollar volume needed to move the price now compared to in 2015 explains why we don't see similar percentage swings.