fungible token
A fungible token is one whose every unit is interchangeable with every other unit, exactly like ordinary money. One of your dollars is as good as any other dollar, and one USDC is as good as any other USDC; there is no 'special' coin with its own history that you would refuse to swap. Fungibility is what lets a token act as money, as a unit of account, and as something an exchange can pool together without tracking individual pieces.
On Ethereum the canonical model is ERC-20: a contract that internally keeps a single mapping from address to a uint256 balance, and exposes totalSupply, balanceOf, transfer, transferFrom, approve, and allowance, plus Transfer and Approval events. Crucially the tokens are not separate objects you own; your 'holding' is just a number in that mapping, and a transfer simply decrements one entry and increments another. A decimals value (commonly 18) tells interfaces where to place the decimal point, so a balance stored as 1500000000000000000 is displayed as 1.5.
Contrast this with a non-fungible token, where each unit carries a unique id and its own metadata, so units are not interchangeable. The dividing line is identity: fungible tokens deliberately erase per-unit identity to make units pile together, while non-fungible tokens deliberately preserve it. Many real assets are partly fungible and partly not — two seats at a concert are equal in price but not in view — which is why semi-fungible designs exist.
ERC-20 'tokens' are not coins in your wallet; they are rows in a contract's ledger. Your wallet only stores the key that authorizes changing the row that names your address.