I will attempt to answer your query with a link.
http://justanotherlanguage.org/content/jallib/tutorials/tutorial_spi_introduction
maybe you could come back after looking over it?
SPI can run much faster
SPI can run much faster (50MHz is more than doable, but devices vary so see their specification) than I2C as it has a dedicated clock line.
SPI is a simpler protocol than I2C but takes more pins since “addressing” using SPI is done using a single electrical line (typically low for enabled, high for disabled).
I2C uses data addressing and has a limited data rate (typically 400 kilobits per second but up to 3.4 megabits per second).
I2C only takes two data lines, even to communicate with four devices! However, i2c is limited to adding many devices by the maximum bus capacitance (400 pF is in the specification but this is device specific).