As mentioned earlier, the main goal of wallets is to securely store the private keys needed to spend the BTCs that one possesses. They come in various forms designed to satisfy specific requirements.
The cheapest way to store BTCs securely is by using paper wallets. Basically, a paper wallet service generates an address for the user and creates an image that consists of two QR codes. The first one encodes the address the user can receive BTCs to and the second QR encodes the secret key to be used to spend the BTCs received at the address assigned to the user.
A number of mobile wallets also emerged in order to allow payments via smartphones. These wallets typically locally store the private keys needed to spend the BTCs and enable the payment directly from the phone. NFC technology can further streamline the payment process. By tapping the phone against a reader, the payment can be processed without the need for extra interaction.
Mobile wallets are made possible using the simple payment verification mechanism (SPV). Indeed, SPV allows a smartphone to verify that a transaction is included in the Bitcoin blockchain without downloading the entire blockchain (see Chapter 6).
On the other hand, classical desktop wallets can offer more advanced services such as support for transaction anonymization to prevent tracking. In this space, Electrum  is one of the most interesting offerings. It has support for multisig (see Chapter 3) to split the permission to spend your coins between several wallets and Bitcoin hardware wallets, and supports SPV mode for transaction verification.
Another category in the Bitcoin wallet space is that reserved to the online wallets. These are web-based wallets that store the private keys in the cloud and provide high availability and ubiquity. An online wallet can be accessed from virtually everywhere and from any device. At the same time, these wallets exhibit one fundamental drawback: the private keys are not under the control of the owner anymore. This puts the BTCs that one possesses at serious risk.
Hardware wallets are dedicated devices that digitally hold private keys and offer payments assistance. The market offers various devices that are sometimes also certified against different kinds of attacks (both physical and logical). In the case of hardware wallets, recoverability is probably one of the most crucial aspect in case of hardware failure. The combination of services offered by an online wallet and security provided by hardware wallets, is certainly very attractive and can reduce the risks of having one's BTCs stolen. These wallets are currently very limited in number and can be tamper-resistant. Examples include the Trezor hardware wallet and the Ledger USB wallet.
Although Bitcoin is the most prominent cryptocurrency at the time of writing, it is not the only one. This often leads to the situation where several different digital wallets need to be maintained to keep the coins, at least one for each of them. A viable solution to this issue is to use the so-called multicurrency wallets that unify the management of multiple coins under a single interface.
A Ripple wallet  can be used to hold any currency or asset (including fiat money as well as digital currencies) for which there is a gateway. Gateways are businesses that provide a way for money and other forms of value to move in and out of the Ripple . The list of supported currencies is quite large .
HolyTransactions  is another interesting multicurrency web wallet that supports different coins and allows spending them from the same place or exchanging them instantly one for another.