TVL is a snapshot of deposits priced in dollars, so it moves with prices as much as with usage. A protocol whose TVL fell 60% in a month where its main collateral asset fell 60% has lost no users at all.
Double counting is the other distortion. Deposit ETH, mint a stablecoin, deposit that elsewhere, and the same underlying capital is counted twice or three times across a chain's total. Protocols that count their own governance-token, often at a price that only exists because of the protocol, inflate it further.
What it does tell you is depth and skin in the game: how much can be withdrawn in a panic, how attractive the contract is as an exploit target, and whether growth is organic or bought with liquidity-mining. Pair it with fee revenue and unique users before calling it traction.
Related: defi, liquidity-mining, real-yield, lending-protocol