Since no one mentioned this so far (afaics): The CS signal in SPI is not only used to select a slave. It is also used to determine the start of a transaction. ... So the leading edge of the CS pulse is also used to synchronize byte boundaries between master and slave.
Yes, this and one other crucial thing:
For SPI -- at least, with devices where communication is two-way -- you also need the CS pin to tell the receiving device to tri-state its transmitter. Otherwise, the selected device's reply would be clobbered by all the other devices that are holding the MISO line in idle state.
For i2c, this isn't required, since it's an open-drain bus with a pull-up to keep the idle state. Devices only pull the bus low to signal a bit when they have something to say, and arbitration and hold-off timers resolve conflicts.