The best take-home interview I ever did had a time-limit. And of course, I panicked when getting close to that limit, and tried my best to tidy up my solution but didn't really manage. Then a pop-up appeared asking "Would you like another 5 minutes?" That was just enough time to calm down, tidy up sufficiently, and submit clean code.
The only time I've been given one there was a time limit as it was fairly strict. Frankly I'd have preferred an untimed version but I can see why people would disagree with that.
Yeah, I can see why too, since almost all software is written with a literal ticking time bomb ready to go off if you don't finish it within a certain minute.
This is, of course, sarcasm. Timed programming interview tests are fucking dumb.
I mean, if an employer gives someone a take home test that they expect to take 3 hours and they give them a week to do it, that's reasonable if technically "timed"; but if an employer gives someone a take home test that they expect to take 3 hours and they actually give them 3 hours to do it, that employer sucks at hiring programmers. I won't even bother debating this with the inevitable person who chimes in to rationalize why they do this, because as far as I'm concerned it is a "the sky is blue" statement and any time debating it with people who disagree with this position is completely wasted.
One thing you're missing though is that a time limit allows for a controlled variable when you're comparing candidates.
The test I was referring to I'm almost certain was not intended to be completed in the time allowed. I've used it myself for in person interviews (not take home) and give candidates 3x the time I was given, few of them actually finish it completely. While it just made me feel like an abject failure at the time now I realize a big part of what was being tested was given limited time what bits I focused on. In fact that's exactly what I tell candidates who I give it to.
It seemed like a good middle ground to me.