Bank sub accounts are generally required if Bank Reconciliation (especially Electronic Bank Reconciliation) are performed in SAP. If I try to explain in simple terms it is as follows. The bank statement received from a bank will have several transaction types such as cheque payment, deposits, EFT etc. Even if you look at the statement these transactions are identified via transaction type ( E.g. CHQ). Similarly, SAP requires these external transaction types to be mapped via Transaction Types and posting rules. Therefore ideally, there will be a different sub bank accounts created for each Cheque Payment, Deposits, Miscellaneous Debits etc. I have found this a very good process where at any given time (if bank reconciliations are performed on a daily basis) each sub account would represent Unpresented Cheques or Unrealized Deposits while the main bank account will match with the balance as per the bank statement.
Hope this was helpful.