Different wallets serve different purposes. You can't simply choose 'the best' wallet.
If you are concerned about your security, either get a dedicated offline computer only for crypto storage.
You will need to learn how to create raw transactions, move them to your offline machine, sign them, move them to your online pc and broadcast them.
If thats too much hassle for you (and/or you don't want to store a big amount of cryptos which you never would be allowed to lose) you might get a hardware wallet.
They generate/store the private keys in an isolated environment. A hardware wallet would be perfectly fine since it is convenient and secure.
Another option (which is way less secure) would be to use a desktop wallet (preferably not on your every-day-windows-pc).
Take a look here to choose a suitable desktop-/mobile- wallet:
https://bitcoin.org/en/choose-your-walletRegarding exchanges, you should only use exchange to deposit, trade, withdraw your funds. Never store them there longer than necessary.
I would advise to use one of the 'biggest' exchanges. They are not guaranteed to be more safer, but have a better reputation and already defended multiple attacks.