It is quite difficult to explain how decentralized DeFi really is. In order to simplify it, we will categorize the levels of decentralization into three: centralized, semi-decentralized, and fully decentralized.
Characteristics of centralized include custodial, centrally-determined interest rates, makes use of a central price feed, and liquidity for margin calls are provided centrally. Examples are Nexo, Celsius, Salt and BlockFi.
One or more of the following characteristics can be found with semi-decentralized: non-custodial, no permission needed for initiating margin calls and margin liquidity, decentralized price feed, decentralized determination of interest rate, and decentralized network updates/development. Examples are MakerDAO, Compound, bZx, and dYdX. Majority of DeFi Dapps currently fall under this category.
In fully decentralized, all of the components are decentralized. As of yet, there is no fully decentralized DeFi protocol.