It's pretty remarkable. The
overt spam attacks we know about and the abruptness with which fees recently dropped suggest that spam attacks were a major culprit during high-fee periods.
I think the main factor causing blocks to flow in rapidly after each other, is because of the miners that stopped trolling Bitcoin by letting the difficulty jump up and down massively.
At one point the average block generation time surpassed the 15 minute mark, while currently it's hovering below the standard average of 10 minutes. Just makes you think about how ill minded one must be to do that to the network.
I looked into this at one point. IMO, the swings in difficulty/hash rate were never large or sustained enough to be the primary culprit. I think they exacerbated things, though. I believe that spam attackers were very effectively leveraging bad fee estimation algorithms against the network.