If it's not clear why, consider: what keeps defi from implementing gambling (or as it's known in the financial world, "options trading") on real-world data outcomes, like stock prices? Answer: that data isn't programmatically available on the blockchain. You can make a smart contract that depends on the closing price of ETH, but not AAPL.
So, what if it were? What if someone decided to publish AAPL's closing price to a ledger somewhere? Then people could make a smart contract that effectively implements options trading against AAPL stock, right? In theory, yes. But in practice, the people that trade options will say, "How can we trust that you won't screw up, get hacked, get bribed, go out of business, etc? Every dollar we entrust to a smart contract that relies on your data is a prize to be won by the first person to find a way to subvert your service's data integrity."
And they'll be right. There are lots of people trying to find fancy solutions to this problem, but to my knowledge we're no closer to a real solution than we were the day Ethereum went live.