They're sort of hybrid networks at that point, but Chainlink oracles are decentralized: each function is run by several nodes (31 for the BTC/USD or ETH/USD price feed, for example). The nodes have to come to consensus and individual nodes are slashed if they produce bad or late data. You can see an example of a LINK feed here:
https://data.chain.link/ethereum/mainnet/crypto-usd/eth-usdDecentralization is a spectrum. But I would argue this approach is far more secure than naive oracle implementations.
Not all applications need oracles. It depends on whether your smart contract needs information about the world outside of the blockchain.