I have done some code with web3 and smart contracts and I've realised that you don't have to store your currency anywhere, because it is already there; it can be read from anywhere. That made me somewhat confused. Because "wallets" as the name suggests are supposed to store the currency itself. That made me think that online crypto wallets are only used to send and receive, but not "store". Is that true? Or they actually store the currency.
Cryptocurrency is basically a form of cashless money. It does not have to be stored. Instead, balances of all accounts have to be recorded somewhere and all participants need to agree on what current balances are.
Ethereum uses sophisticated cryptography algorithms to allow honest participants to agree on current balances without knowing nor trusting each other, and in environment where malicious participants constantly try to screw up the system.
What ought to be stored are private keys, corresponding to the account, as private key the only way to prove account ownership in the system.
Stand-alone wallet applications usually may both, store user's private keys securely, and do necessary cryptography based on them, while online wallets usually do not store user"s keys, so user has to store his keys by himself, and allow online wallet to access them every time they are needed.