Uniswap is a decentralized permissionless exchange (a kind of a Decentralized Application Dapp and a DeFi protocol) built on Ethereum network. It allows Ethereum wallet users to trade ERC-20 tokens directly with an automated market maker (AMM) methodology.

This Unifruit example basically covers how Uniswap works. For a pool with token A and B, the amount in the pool after a change should satisfy:
(A - change in A) * (B + change in B) = k, where k is a constant.
This is often simplified as A * B = k, and plotted as a hyperbola.

This mechanism ensures that a pool will always have some amount of both tokens, i.e. Infinite liquidity. Just imagine a pool with 100 $ETH and 100 $USDC initially. As the reserve of $ETH gets closer to 0, the required reserve of $USDC approaches infinity, making it infinitely expensive to buy out a liquidity pool.
In the Unifruit example, we mentioned that users of Unifruit need to put some additional seeds to compensate the basket providers. Uniswap does this too.
For Uniswap V2, every transaction entails a 0.3% transaction fee directly added to the reserve. Therefore, the product k actually increases after every transaction.
In short, AMM, as a market maker mechanism, allows any liquidity providers to put 2 crypto assets (like ETH + USDC) into one basket to earn trading fees, creating a liquidity pool where other traders can "Put & Take" those 2 assets following a specific rule (Constant Functions). The process of "Put & Take" is actual trading activity.
Uniswap was created on November 2, 2018, by Hayden Adams, a former mechanical engineer at Siemens. As of 2022, Uniswap is the most popular decentralized exchange in the world now, with a leading exchange volume.
The Uniswap company received investments from venture capital firms, including Andreessen Horowitz, Paradigm Venture Capital, Union Square Ventures LLC, and ParaFi.
The first version (V1) of the Uniswap protocol was published in November 2018 as a proof-of-concept for AMMs (Automated Market Makers). Version 2 was launched in May 2020, and Version 3 was launched in May 2021, introducing new options to allocate liquidity within a certain price range.