What Is the Difference between Transfer and Transferfrom ?
The transfer function sends tokens directly from the caller's address to a recipient. It requires the caller to own the tokens.
The transferFrom function, however, allows a third-party address (like a DEX contract) to send tokens from a different address (the token owner) to a recipient. This requires the token owner to have first granted an allowance to the third party using the approve function.