Liquidity pools, in essence, are pools of tokens that are locked in a smart contract. They are used to facilitate trading by providing liquidity and are extensively used by some of the decentralized exchanges a.k.a DEXes.
One of the first projects that introduced liquidity pools was Bancor, but they became widely popularised by Uniswap.
Curve realised that the automated market making mechanism behind Uniswap doesn’t work very well for assets that should have a very similar price, such as stable coins or different flavours of the same coin, like wETH and sETH. Curve pools, by implementing a slightly different algorithm, are able to offer lower fees and lower slippage when exchanging these tokens.
The other idea for different liquidity pools came from Balancer that realised that we don’t have to limit ourselves to having only 2 assets in a pool and in fact Balancer allows for as many as 8 tokens in a single liquidity pool.