SPI is faster, of course, but it requires 4 lines rather than 2 and it's more difficult to have an "open bus" where you can just "drop in" additional peipherals (since you need to switch your data in/out lines to each new device as it's dropped in).
RS-232's main advantage seems to be its ubiquity on older PCs. It's not particularly fast (i.e. 115kbps typically) and requires either a hardware UART or at least "well controlled timing" if you're going to bit-bang it... for ultra-low-end microcontrollers (where all you have is something like a timer interrupt and 1 MIP) it's often difficult to get much more than 9600bps full-duplex working robustly.
So, in my mind, I2C is actually one notch better than RS-232 (works on the lowest of the low microcontrollers, significantly more robust for multiple devices, more or less the same throughput), and while it's certainly not as "slick" as SPI, it's a decent tradeoff if you don't need SPI's higher data throughput.
---Joel