But for some reason I have much better luck working with I2C devices than SPI ones. Must be me. That TI ADC I tried previously just made me cry uncle in the end.
I've worked some with both I2C and SPI devices and have come to the opinion that both buses are fully functional and useful. However the documentation supplied by many vendors chips make the task of getting them to work at first a lot harder then it should be, it's really a shame in some cases how bad and/or sparse the documentation can be from some device suppliers.
Once the specific protocol details for a given device are understood and applied I've found both types to work well. I believe SPI can be run faster then I2C if required. But I2C is easier and takes less hardware resources when one starts to or needs to add more and more devices to the bus.