It does make sense if you read it slowly. 
Someone is very rarely going to commit serious tax evasion of more than 50%. Hence the figures of if you claim you earn 20k then at most it would be 40k if you have lied on a tax return.
Yes that's £140,000 for the window cleaner hmrc could get back IF they can prove things. Very hard to do with cash in hand stuff.
Compared to £1,200,000 of another business?
Which would you rather if you were hmrc?
By the way I'm 100% legit. All my customers pay me either bacs or cheques, before someone accuses me.lol
To put it basically.....HMRC no longer do random tax investigations. They work on RISK. They have more chance of getting a bigger payout from a company with large turn over than your average window cleaner.
That info is correct as of 12 months ago anyway.
Everyone should just pay their dues anyway and it leads to a less stress full life. 
What im unsure about Jonny is where you said in the example that a window cleaner turning over £40,000 was only declaring £20,000.
"So potential gain to hmrc is £20,000 minus the cost of tax investigators and wages etc which is in the thousands for a detailed investigation. So potentially hmrc will gain 20 k. AT MOST!"
Are you saying that HMRC will seize all of the undeclared £20,000?
Im not trying to be argumentative with you, but in my view I assumed in your example the window cleaner under investigation would then be due to pay 20% tax plus nic's on the undeclared profits plus any fines and investigation fees levied by HMRC?
The HMRC do not bear the cost of the investigation, the person being investigated will be liable for it if found to be guilty.
It would be costly to the window cleaner if found to be evading tax don't get me wrong, but I do not understand how you came out with the £20,000 figure?
ps. Im not smart enough to try and outsmart the tax man so I don't even bother, I put all the work I do into the George program which makes it easy when doing accounts.
Then if they ever wire me up to the lie detector I know I've got nothing I need to try and hide!