Let's just say that a scope with decoding goes a long way and an MSO can solve 99.9% of the logic analysis problems. What an MSO is very good at is displaying digital signals in realtime which can be a major advantage over a logic analyser.
I'd agree with that, in fact a scope, MSO or DSO (or even a CRO if you are very patient) can help you solve 99.9%+ of logic analysis problems given enough time and effort. The same is not true the other way around, i.e., and LA cannot solve signal integrity problems.
If I had to choose either a scope or an LA, I'd always take the scope. While that's a facile statement for me to make nowadays, barely 10+ years ago, it was frequently the way it was.
This takes me back to the days of decoding software on microprocessor based systems with exposed parallel busses in the 70s, using a scope together with a piece of paper and a pen, forcing a reasonably tight software loop to reset and reproduce, find a trigger (never did I use holdoff so much!), decoding one string of bits at a time to figure out software bugs, which frequently, but not always, were causing a stack overflow.
Debugging with a scope compared to an LA is frequently a different workflow. Perhaps an analogy is the difference between using an in circuit debugger and printfs in your code to debug, both have value and some prefer one to the other, or use both. I hardly ever use a dedicated LA anymore but for some years, until fairly recently, I did so extensively. Nowadays I much prefer an MSO. Others have different opinions and workflows, but that's as much a personal choice as it is technical reasons (almost every project I do is real time mixed signal).
One of the joys of analytical skills is that there are almost always more than one way to skin the same cat. Or, to out another way, ask three engineers the same question and you'll get a dozen different answers, all of which may well have merit.