I just finished a take-home assignment that I considered roughly "not completely sadistic", and it took me about 10 hours.
And there is some level of trust I have for the hiring company, etc., so I was comfortable doing the 10+ hours. Not happy, necessarily, but decided I wasn't going to try to change the hiring process while I was trying to be busy getting hired.
I could easily see someone spending 20-40+ hours on it, and still not completing it successfully. I was offered proactive help by the existing staff, which was super-nice of them, and it probably helped.
I'm not sure how long it was supposed to take.
I would generally guess that hiring companies think their take-home tests/assignments take about one-fifth/tenth of the actual time they take. They often are simple if you're an expert in the company's proprietary software platform.
I don't know what the difference is for remote vs. local hiring -- I'd guess the hiring is generally more tedious for remote positions -- they require more trust.
I'm generally in the sales engineer/tech acct mgr/tech support/other-type space. If I don't love the company, and I get a homework assignment that is 20+ hours, I usually bail.
I had another position I was working on that required a codility (?) test. I took the sample test and 'passed' it, or thought i did, but then the eval said i got a zero. So, not sure what that was about.
I ended up bailing on that position, or telling the company i'd do any other type of tech screen, including live coding, whiteboarding, etc., but they weren't for it. I said I'm not down with that tool, but it was over. Fine. I know better than to try to justifying my objection to these types of tests.
Lots of companies have been asking for recorded video interviews. I try not to voluntarily talk to robots. Again, I try not to object on 'dignity' or any other grounds -- it's not a language that 'we' commonly understand yet -- it's too sci-fi.
So "let the robots do it" is one strategy for hiring.
I think there are lots of sane things we can do to improve the hiring process, but one thing I'd generally like to see is an easier try/buy process (like traveling nurses seem to have).
In theory, contracting or contract-to-hire can make everyone's experience better, but...it just doesn't seem widespread in my experience.
For example, I would love the opportunity to work for some company for 2 or 3 months, at some percentage of my normal rate, and then if we both like, we agree to the full-time hire. But it seems everyone is deathly afraid of having to pay unemployment. That's the best guess I have for as to why this is not a more common practice. This arrangement or something like it would seem to offer a good mix of risk/reward for everyone involved.