The main difference is the invoice policies are applied on a per-invoice basis, and the statement policies are applied on a per-customer basis.
So for example if you had 10 customers in a month, each with 5 invoices - then an invoice policy would apply to each invoice individually, meaning if you had an invoice policy for late fees and all the invoices were paid late you would end up with 50 late fees at various times during the month (as each invoice meets your late fee policy).
Alternatively, with the statement based policies you would pick a day in the month (say the 20th for example) and all 10 customers would be reviewed on that date for any overdue debt (applying your configured aged debt minimum and maximum), if they all didn't pay you'd end up with 10 late fees - one per customer as new separate invoices.
Similarly Auto-statements are emailed per customer on your chosen day of the week or month, where invoice reminders (emails or SMS) are sent as each invoice meets your policy criteria.
For example if you configured to send a reminder email 1 day before an invoice is due, then in the example above where all 10 customers paid all their 5 invoices late then there would be 50 reminders sent, one for each invoice.