I know the main reason they don't make withdrawals every time is trading or fees that may be charged every time they want to make a transaction on the exchange.
Some people might not withdraw their assets from exchanges because of the fees but that shouldn't be a problem if the person isn't using those funds daily. If you have extra funds in your exchange wallet, and you are not using them for trading or staking purposes, then it is better to simply withdraw them and keep them in a non-custodial wallet.
A few months ago, I heard or read somewhere over the internet that some institutional investors keep their funds in the exchange where they buy them, I think the reason was that they believe exchanges are safer than wallets but that isn't true in all cases because exchanges have higher odds of getting attacked by hackers so there can be negative consequences of doing that.