A token standard allows for abstraction and polymorphism. In computer science polymorphism allows for a code to be able to operate with several different objects using the same functions on each of them and having each of the functions work as intended. Therefore a wallet could use the same code for every type of token and have everything run as intended (the same can be said for any program that accepts different tokens).
The 3 functions shown to us are:
totalSupply()
Which tells you the total supply of the token currently in circulation
balanceOf(address_account)
Which requires an address account input and returns the balance of that account
transfer(address_recipient, uint256_amount)
This transfers an amount to a recipient, taking both of them as an input to the function