Banks have auditing all over their ass. That means dollars need to be accounted for at all times. If you have ever worked at a bank and one fo the teller's/cashiers behind the counter comes out of their shift off by $0.50 cents, they will be in DEEP SHIT. In addition, the person will likely have to have an account with the bank which includes handing over a drivers license + SSN (I'm not sure? I've never had to simply cash a check for straight cash). So if a lawn mowing company that doesn't pay taxes cashes in a bunch of check payments - that is a lot more likely to be tracked down. In addition, the same could be said for drug money I suppose. All money leads to somewhere.
At a place that makes some interest off cashing a check, they have no auditing nor do they really have an obligation to (AFAIK - someone else can correct me here). They simply use their liquid assets (cash) to exchange a check payment for their own cash money at the cost of a likely % fee of the check value. One is the most liquid form of money, the other is not. Also, the check place might be taking slight risks if the checks possibly bounce? Again, I've never been to these types of places, so I'm no expert.