There's no meaningful answer to that question. Depends on many, many variables. Risk tolerance is one of them. The risk profile on covered calls and cash-secured puts is very different from a vertical spread.
But the big difference is capital.
Covered calls and cash-secured puts require a lot more capital. To write a covered call, you have to be long the stock. To write a cash-secured put, you have to have cash available to buy the stock if you get assigned. That's a lot money tied up. And in principle you could lose it all.
Vertical spreads require far less capital, and the potential loss is much lower.