This really depends on your application. How fast your SPI device is and how much data you want to transfer.
There are two things to consider: Hardware SPI can use higher frequencies (if your SPI device is fast enough) and at least SPI0 can use DMA so you can transfer large amounts of data without the CPU. And second, even if the software SPI is as fast as your device, this can lead to a high CPU load, especially if you use a PI with only one core.
Btw. you are aware that there is a software SPI driver in the linux kernel, so you don't need to implement that yourself?