While its easy to say "Just leave at 5pm and come back refreshed" is easy to say, I found personally to have learned to most on the days when I've worked until 2am really digging into a problem and getting it fixed. I also have found that the best people I've worked with have a similar get it done attitude. Obviously this isn't sustainable but I think required from time to time.
I also think this lacks the notion of "how much do you want to move up vs stay in your current role". If you don't have any desire for more responsibilities than this applies, but I think if you want to move up/learn new skills, reducing the hours works against you.
I guess I follow the mantra of, "The first 40 should be productive and for the employer in the role I was hired for but I should spend additional time on top of that learning new skills"