SoftSerial has quite a few limitations because it is bit banged. It's fine if you need to print something on an attached printer, while checking for RFID cards (as I do). But if you need to do a number of things at once, then its limitations become more apparent. They may or may not matter in a particular application.
Both SPI and I2C use the hardware features to output quite fast, and receive incoming data using interrupts (I know SoftSerial uses interrupts too, but once it starts a byte it has to sit in a tight loop).
Your comment about "softserial" ... "over uart" doesn't make much sense on its own, because SoftSerial doesn't use the UART.
With a larger chip like the Mega you could indeed use multiple hardware serial ports, if your application required it.