Is SPI significantly faster than bit-banging?
Assuming you are comparing an spi peripheral or synchronous serial "engine" in the micro to generating the same sequence via "bit-banging", then yes, it tends to be somewhat faster, but more importantly the processor can hand off an entire byte to the peripheral to send and then do other things while it is transmitted.  In the bit-banging case, the processor tends to be tied up during the transmission (though as the micro tends to be the master and most peripherals are fully static, you can probably tolerate pausing mid-byte to service an interrupt or to even poll things - interface-clocked serial ADC and sample-interval tasks being notable examples of exceptions).

On more capable MCU's it may even be possible to program a DMA controller to execute a multi-byte transfer from memory through the SPI engine without further attention from the processor, especially if only data in one direction is important.

But many micro-controller projects end up highly optimized to their task; if you can spare the cycles and tolerate the speed reduction, then complicating your software in order to be able to use whatever GPIOs make the physical layout cleaner is not by any means an uncommon choice.