There's also the more obvious difference in design. Hurd was supposed to be a micro-kernel whereas Linux was a much more straight forward monolithic kernel. One requires the inter-operation of lots of systems whereas one is just one big system that can just keep track of everything inside instead.
I'm pretty sure no one could build a functioning micro-kernel that'd be useful and able to compete at the time the Hurd project was still relevant. Then again, maybe I'm just making excuses for the FSF.
Well, that's more or less what I'd meant by 'focused on "working" rather than "right"' - GNU was trying to do what theoreticians suggested made the most sense; Linus was trying to do what had worked before. Both have pros and cons, but the latter is "safer" and certainly seems to have paid off here.
I'm pretty sure no one could build a functioning micro-kernel that'd be useful and able to compete at the time the Hurd project was still relevant. Then again, maybe I'm just making excuses for the FSF.