In my opinion, staking is more reliable when it comes to staking known coins. Yield farming is often accompanied by earning new tokens by delegating your valuable tokens, such as ETH. Whether those new tokens that are given to you as rewards will have any value is a big question, plus those tokens are often hard to sell due to lack of liquidity or they have high slippage. I would choose staking.
Staking is always better. But you could lose your investment overnight due to volatile market prices. It's like Yield Farming where you "lend" stablecoins to a "De-Fi" protocol. These coins usually maintain their 1:1 peg to the USD, so there's a minimal chance you'll lose it all in an instant.
Stakers who bought the asset for staking at current market prices, when the coin itself had already managed to grow many times, are most often exposed to such a risk.
Nothing is perfect, so I'd just do both of them (yield farming and staking) to keep the passive income flowing. This is still better than saving money at a bank. As long as decentralization is preserved, people will be able to earn from either staking or yield farming without restrictions. Who knows if "De-Fi" will replace "Ce-Fi" in the future?
To be honest, I wouldn't do any of those things. Unless you have cheap tokens available, which you need for steaking or for the yield farming