My opinion is - Logic analyzer is much better for decoding protocols. SPI, I2C or USART - doesn't matter. It's much cheaper and smaller than oscilloscope
It depends.
Many logic analyzers aren't realtime, or when used in realtime they drop the sample rate to a minimum, or have a great blind time between acquisitions. This, at least, for all the USB logic analyzer i've seen and used.
A scope on the other hand lets you see the waveforms with much more detail, and not what they look like after the LA input circuitry and the comparators.. a lot can be happening that you won't be able to see.
A scope will be bettere in realtime mode, as would be any standalone instrument.
A scope will also be able to trigger on more conditions, always related to the shape of the signal.
A scope will also be easier to set up to see a time correlation between the serial bus data and other analog signals