If we are talking about ERC20 tokens only, you can also use
MyEtherWallet (MEW). It's an online wallet which supports these ERC-20 tokens. When it comes to ETH and the tokens that use the ETH blockchain, MEW is what majority of the users use these days. The security with MEW is awful, and you can read here on this forum of people losing their coins every day due to malware or other malicious attacks. I personally, have never found a better software solution. I tried to install the ETH wallet myself, but their blockchain is so bloated that it was a dreadful task. So, yes a hardware wallet would be the best recommendation if you can afford one. If you are gonna use MEW, make sure you have understood how to rune it safely (
https://bitcointalk.org/index.php?topic=3461647.0). Good luck.