In my experience this rings true for senior roles and less so for new college grads.
Companies seem afraid to hire thinking there is a slightly better/cheaper option around the corner.
I can see why perhaps a candidate receiving a rejection may think this, but in the companies I’ve worked at this has never been the case. It’s always been “it’s really tough finding talent, not paying talent”.
The take home assignments with random marking standards. Tests can matter, ui could matter, api structure could matter, documentation/choice of framework, speed, style all could matter but you rarely know which matters to whom and rarely have time to do it all and even if you did everything perfectly a lot of the time no one even looks or the reviewer expects the code to look like how they might write it.
A fair reviewer recognizes the limitations of these take home exercises. While there are many ways to perform a take-home successfully, there are more ways to show that you aren’t qualified for the role. Not all that pass will be right for the job, but most who fail aren’t.