1.- As it is a standard, most exchanges, wallets and dapps can list their tokens easily without any extra development to make it compatible with their system.
2.- balance(); It can show the amount of tokens held by smart contracts and wallets.
transfer(); Transfers a number of tokens from sender address to receiver address.
doSomething(). Will do the instructions by the smart contract once it’s running. Examples of this kind of functions can be approve() and transferFrom();