Hartnett's argument basically goes like this:
I call out a self-employed plumber, who turns up at my house to do some work, and I offer to pay him by cheque or debit card. He says that he'd prefer cash, and he'll give me a discount, but he won't give me a receipt. He then keeps this cash in his wallet until he spends it, rather than paying it into his company's bank account. At the end of the financial year, he tells the HMRC that it's been a very quiet year, so he doesn't have much income to declare, and therefore he doesn't have much tax to pay. The HMRC might be suspicious, but they can't prove anything: there are no deposits in his bank account to justify, and no customer receipts to prove that he's been doing jobs. Meanwhile, he's living the high life with all of his untaxed income.
According to this theory, it's my responsibility to stop him dodging tax, either by paying in a traceable way (e.g. cheque) or by insisting on a receipt. If I'm still suspicious, I can phone the "whistleblower hotline" to report him.
I'm sure that there are plenty of dodgy deals going on like this. In fact, I've had a few people explicitly offering to knock off the tax if I pay cash, and I feel uncomfortable about refusing because it seems so weird to voluntarily pay tax when I don't have to. One face-saving tactic is to say "I need to keep a receipt for my records".
However, there are legitimate reasons to pay in cash. From my point of view, it's a simple way to stick to a budget: I can't spend more money than I physically have in my wallet. From the plumber's point of view, banks no longer guarantee cheques, so he'd be left out of pocket if the cheque bounces; similarly, he'd have to pay a transaction fee to accept Visa/Mastercard, and carry a machine around with him.
Moving away from tradesmen, if I go to the chip shop then I pay cash and I've never been offered a receipt. That may mean that they're also running a scam, but I don't think that's necessarily the case: it seems quite plausible that they'd add up the money in the till at the end of each day and then declare all their income. Ultimately, it's their responsibility to be honest on their tax return, it's not my responsibility to police them. I think it's fair to give the same benefit of the doubt to plumbers, builders, etc.