Eth is the native token, WETH is an ERC20 token (token creted by a contract implementing the ERC20 interface). Many applications don't want to handle these separately, so they only accept ERC20 tokens. WETH is Eth wrapped in a token contract (can be warpped or unwrapped 1:1). Think of it as similar to Java's int vs Integer.