Answer
They differ because of timing differences—unpresented (outstanding) cheques the business recorded but the bank hasn't paid yet, and outstanding lodgements/deposits in transit recorded by the business but not yet credited by the bank—and because of items known only to the bank—bank charges, interest, direct debits, standing orders, and dishonoured cheques—plus any errors in either record.
Real-world example A cheque written today lowers the cash book but not the bank statement until it clears, creating a timing difference.