Approval Transaction Troubleshooting: When a Token Permission Will Not Go Through

An approval is a separate, small transaction that gives a protocol permission to move one specific token out of your wallet. It happens before your first swap or deposit of that token, and it is why a simple trade sometimes asks you to confirm twice. When an approval will not go through, the swap behind it cannot even be attempted - so this is the first thing to fix.
It is the direct debit mandate you sign before the first payment leaves your account. The mandate is not the payment, but nothing moves until it is in place.
Why an approval fails or sticks
An approval is an ordinary transaction, so it fails for ordinary reasons. The commonest by far is having no fee coin: a wallet holding only USDC cannot pay for the approval that would let it spend that USDC. Next is a fee set too low, which leaves the approval pending and the swap greyed out behind it. Then there are stale approvals - an old permission for a smaller amount than you now want to trade, which the protocol reads as not enough rather than as none. A handful of older tokens, USDT among them, refuse to change a non-zero allowance directly and have to be set back to zero first.
How to reset a stubborn one
Wait for or cancel any pending approval before sending another; two in flight at once only confuse the queue. Then revoke the old permission and grant a fresh one. Most block explorers have a token approvals page listing every contract your wallet has permitted, with a revoke button beside each. That page is worth reading even when nothing is broken: permissions you granted years ago to protocols you no longer use are a standing risk.
Approve an amount, not everything
Wallets often offer an unlimited allowance because it saves you signing again later. The cost is that if the protocol is ever exploited, that permission is a standing door into your tokens. Approving close to the amount you are actually trading is slower and safer. Uniswap's newer flow, Permit2, lets you sign a time-limited permission instead, which expires on its own.
If an approval keeps reverting on one token and works on every other, suspect the token rather than your wallet. The expected to fail warning very often points at a missing approval, and why a swap fails covers what comes after it.