What is a difference between TriggerSmart and Transfer type of contracts?

What is a difference between TriggerSmart and Transfer type of contracts?

From what I understand, Trigger SmartContract triggers a smart contract function manually by passing the owner address, the smart contract address and the function number.

See sample query below Bitquery

Tranfer Smart contract, on the other hand is trying to send some amount tokens (again as uint256) from the contract address to the user.

See sample query below Bitquery