Most traders leave their coins on exchanges to wait for orders to be filled or wait for chances of opening new trading orders. It's not a good practice because of many risks you said, while there are also many reminders about centralized exchanges.
There is nothing without risk and trading is not an exception, that's why even though keeping our coins in a centralise exchange might not be a wise idea but it is necessary because opportunities to buy or sell could come up at anytime. So if we don't have our funds saved in a centralise exchange at the time the opportunity came, we might miss it. There is no doubts that Centralise exchange could be hack which is why any money we are leaving on it for trading should be an amount that we have ready our minds to lose since anything can happen.
I agree with you, If you are a trader, you need to always use an exchange, if you are not using an exchange, then you are not a good trader. A good trader must always use an exchange because anything can happen and you may decide to sell or buy immediately.
The reason why people are succeeding in trading is because they are using exchange, to be successful as a trader. You must use an exchange.
And yes, exchange can be hacked and Wallet can also be hacked, just this year we all saw some few wallets that have been hacked, Just the way exchange has also been hacked.