A cryptocurrency wallet — is a piece of software that allows you to interact with a blockchain. Including, but not limited to generating addresses, sending and receiving coins.
Cryptocurrency network is decentralized and this means that information about the funds owned by each of the addresses is stored by the whole network at once - simultaneously and independently by many nodes. To transfer coins from one address to another an output transaction must be signed by a private key that corresponds to the output address and broadcasted to all the nodes which will accept it if it's valid. It is technically impossible to make a transaction without the private key, because it will be rejected by the network.
Custodial wallet — is a wallet that stores your private keys on its servers. Using this type of wallet you can restore an access to your funds in case of loosing your mnemonic phrase or a private key. But instead you can lose your funds in case of a third party hacking the service, or the service becoming unreliable.
Non-custodial — is a wallet that doesn't store your private keys. In that case you have full control over your funds. And also all responsibility of keeping them safe lies on you. Non-custodial wallets can't restore your funds in case you lose your secret keys.
Hot wallet — is a wallet that is always connected to the internet. This is the most convenient and fast option, suitable for everyday use. But due to the fact that the software, by design, is vulnerable to the malware attacks it has weaker safety rate. Examples of the hot wallets are web, desktop and mobile apps.
Cold wallet — is a physical storage of your private key. Network connection is required only for broadcasting already signed transactions. The signing is done on the offline device so all the secret keys are never exposed to the network intruders. This is an option which is safer for keeping but less suitable for frequent use.
Paper – paper wallet is a printed private key.
HD wallet – is a type of wallet that builds a hierarchical structure of private/public key pairs from the one common master key. So in the end you get a bunch of visually unrelated addresses that are derived from one master key. Alternative to this is a wallet that for each new address generates an independent private key. To back up your funds in the latter case you'd need to back up all of your private keys. And to back up the HD wallet balance you only need to save the master key. HD wallet general structure is described in BIP32.
Derivation path – is a sequence of indices that represents a way by which the addresses of the HD wallet are derived from the master key. A general form of the derivation path was defined in BIP32 and looks like:
m / account' / change' /address';
BIP43 had specified the first index of the path to define a purpose — a BIP that describes wallet's subsequent levels.
Finally, BIP44 defined a multi-coin HD wallet structure for Legacy addresses based on BIP32 and BIP43.
BIP44 derivation path is
m / 44' / coin_type' / account' / change / address;
And similarly BIP49 and BIP84 defined same structures for SegWit and Native SegWit addresses respectively:
m / 49' / coin_type' / account' / change / address;
m / 84' / coin_type' / account' / change / address;
From the visual and functional point of view, account – is an opportunity to divide your addresses into groups according to its purpose. Convenience of this function is that after transferring your mnemonic phrase from one HD wallet to another an address grouping persist because its presence in the HD wallet is determined by its structure.
A recovery phrase (i.e. mnemonic phrase i.e. seed phrase) - is a sequence of words (12, 24 or 36 words) from which a master key is derived. This process is defined by BIP39. Its main purpose is to avoid typos or other kind of mistakes related to the unreadable and impossible to memorize form of master key.
Bitcoin network protocol provides for an opportunity to encode a mnemonic phrase with a password. This opportunity was defined in BIP39 along with a seed phrase definition. The use of the two-factor mnemonic phrase makes it impossible to unlock your funds without a password regardless of the software that you use.
Meaning that both «something you have» and «something you know» are always required to unlock your bitcoin.
Forgetting this password is equivalent to loosing your mnemonic. You can't restore your funds having only one of them.
Encoded and not encoded phrases and also phrases that are encoded with different passphrases produce different master keys and therefore generate different wallets!