Truffle provides a rich interface for interacting with your contract. You can either write data to the network or read from it using contract abstractions provided by Truffle. This makes interacting with your contract a breeze.
Writing data to the contract is called a transaction. A transaction can be anything from sending Ether, deploying a smart contract, or executing a state changing function in the contract. You need to pay a certain fee to perform a transaction, known as gas. You can see the result of a transaction only after a miner confirms it. Thus, you cannot receive any return value from the function you are executing.
Reading data from smart contracts is known as a call. This can be used to execute smart contract code, but cannot change any values. Since no state is modified, calls are free to run and you can receive the return value immediately...