Etherscan indexes the blockchain and displays the data on its website.
It is possible that they could have technical issues which mean that the data on their website is not fully up to date. Alternatively it may be the case that during periods of high network traffic there is a larger than normal delay between when a block is mined and when Etherscan's backend services process it.
If you run your own node you must make sure it is fully synced. If it does not have data of every mined block (and the transactions contained within) then the balance of a given account may not be reflected correctly.