I think the reason people still keep their coins on an exchange is that they don't want to lose that small part of their money which they should pay for withdrawing. This approach is not a good one though. You should easily accept losing a small fraction of your money in order to not lose much more.
no that's not it.
a lot of traders who you see around here are day traders and that means they are always active on an exchange site making trades so this means they always have an open order somewhere on the exchanger orderbook and the hacks and running aways happen suddenly there is no warning so you can withdraw before that.