TRON does not charge a single fee. It meters two resources. Bandwidth covers the size of a transaction, and every account gets a free daily allowance of it. Energy covers computation, and a token transfer is a contract call, so it consumes Energy.
You obtain Energy in one of two ways. You stake TRX, which grants an ongoing allocation while it stays staked. Or you pay at the moment of the transfer, in which case the network burns TRX from your balance to cover what you used.
The consequence catches out almost everyone once. A wallet holding nothing but USDT cannot send the USDT. The token is in the account, the account has no TRX, and there is nothing to burn for Energy, so the transfer fails. People withdraw from a casino to a fresh TRON wallet, watch the stablecoin arrive, and then find it will not move. Nothing is lost and nothing is broken. The account simply needs a small amount of TRX before it can transact.
The fix is to keep a small TRX float in any wallet that holds TRC-20 tokens, and to top it up when it runs low. If a casino lets you withdraw a little TRX alongside your USDT, do that on the first withdrawal to a new address.
One more detail affects cost. Sending a token to an address that has never held it is more expensive than sending to one that has, because the ledger has to create a new entry rather than update an existing one. A first transfer can therefore cost noticeably more than the ones that follow.
The Energy price is a network parameter, and it has been changed by vote more than once. Take the current figure from a current source rather than from an old guide.