Its good in theory, but it leaves a lot of ambiguity for the interviewee to parse through. For instance, if given a two week window would it look better for me to do it tonight? Would it show ambition? Or would it seem like I'm desperate, and lead to a lower amount of compensation being offered to me? Should I spend far longer then five hours on the assignment, and turn in superior work while making it seem like I only spent 5 hours? What is my competition doing?
As someone who's recently been through the ringer, including one six hour take-home, all I want is a clear demonstration of respect and rationality.
Bring me into your professional office. Let's talk like professionals. Allow me to demonstrate my professional skills. Call me back with a professional yes or a professional no, all within a professional time frame. That's it.
Remote or otherwise less traditional assignments / roles / jobs will deserve and benefit from their own process. But how we strayed from the straight forward formula is beyond me, my guess it was an initiative started by a handful of companies who had trouble hiring.
I don't think hiring devs is the systematic issue everyone makes it out to be. Assessing talent is always hard, be it an artist's, an athlete's or a programmers. I think rather then assume the cost of the investment in hiring, companies chose to blame the system and that's where this absurd roller coaster started.