I understand that wallets are essentially like keyrings (storing/managing/possibly even generating keys).
Ive seen that they can (like Exodus' "Receive" button) generate new bitcoin adresses (which is in my mind roughly equivalent to a public key).
1)
Does this mean they generate a completely new keypair (including private) for each time you "receive"?
Or is it (not sure if this is possible) a new address which is linked to an existing private key?
usually the key pair has already been "generated" because most wallets use hierarchical deterministic seeds now. but the wallet UI won't necessarily show a new address until you request it.
the new address is not linked to any previously generated private key. with HD wallets, all key pairs are derived from a single seed, though. sometimes people confuse the "seed" (which all key pairs are derived from) with "private keys" (from each key pair).
2)
If it was a new keypair each time and you woud be receiving lots of transactions you'd end up with hundreds of keypairs/addresses with small amounts of coins "in" them.
Would this not make sending coins an insanely difficult task or at least -transaction fee wise- very expensive (you'd have to make hundreds of small transactions)?
addresses/public keys do not matter at all in this respect. every output you receive is an output, no matter what address it is sent to. sending outputs to the same address doesn't change anything. 3 outputs in 1 address is no different from 3 outputs in 3 addresses, from a transaction fee standpoint.
I see, so transaction fee wise multiple keys/inputs are a non-issue.
But doesn't this cause still dificulties when you for instance want to - for instance - switch wallets?
I imagine the amount of keys in your wallet will go up constantly (if you have an additional pair everytime you receive coins). And then, when you maybe want to switch wallets you'd have to export all those keypairs and import them to your new wallet. Unless the two wallets (from different developers) use the same data interchange notation (which is unikely imho) youre looking at a lot of effort up to the point where you are effectively locked into a wallet.