Why shouldn’t you just send people their ether directly (push)?
Because it can generate a bug in the security of the smarcontract or if there are many participants running out of gas.
What is the writers’ argument against “pull” design?
Since the user must incur the expense of the gas or that an inexperienced user interacts more than he should with the smartcontract and gets to make an error.
What problem did the writer encounter with people who did not withdraw their money?
Users were upset that he left it to them, so he proposed donating it to charity.