To the professors point... yes, a traditional bank's service fees can exceed the fees at check cashing stores. For example at Chase Bank, if a poor person lets the balance drop below $500, they will be charged $30. (To many of us, $500 doesn't sound like much but to people living paycheck-to-paycheck, it can be very hard to stay above that amount every month.) Account holders on the lower tier also get limited check writing privileges. Some account fee waivers also don't kick in unless their paychecks are direct deposit. However, many laborers still get paper paychecks so they can't meet the bank's criteria for the reduced fees.
The criticism that the professor's math doesn't tackle is the ~400% interest rates on payday loans: http://www.paydayloaninfo.org/facts
Yes, $0.89 money order at RiteCheck is less than $5 charged by Chase Bank but that's not what the criticism of predatory practices is about.