In its simplest form, a cryptocurrency wallet is just something that stores a private key that controls a blockchain/DLT account that holds tokens and uses that key to “sign” transactions for that account.
A software wallet is a piece of software that performs this function – and typically includes more functionality and a nice user interface to make interacting with a blockchain and accounts there more convenient. For example, they usually read the blockchain to show you things related to your accounts, such as current token balances and recent or pending transactions. They might also make it easier to do specific things like stake tokens or interact with DeFi smart contracts.
An example of a popular software wallet is Metamask, which holds a private key (using a seed phrase), shows token balances and transactions, and can easily connect to DeFi applications using web3 technology.
While convenient, a security weakness of software wallets is that they live on your computer or phone. They are thus usually exposed to the internet. Therefore, you must take great care to protect a software wallet and the private key that it contains.
Another approach is a hardware wallet; this is a physical device that typically is focused just on securely storing a private key and signing transactions using it. Hardware wallets must connect to a piece of software to give the user an interface to see token balances or create transactions. But the hardware wallet is responsible for signing the transactions (typically requiring a PIN) so that the private key is never stored on a computer connected to the internet. Just as with a software wallet, you must carefully back up your private key (or seed phrase) in case the hardware wallet is lost or damaged, but using a hardware wallet makes it much easier to protect your private key and transactions.