It had been very important in my prior life as a supercompuer guru. Back then I felt you didn't understand a machine until you had written at least several hundred lines of assembler, and tinkered with it trying to squeeze out performance. As very few programmers wanted to go that deep, it made me really indispensable. And I still have a common language when talking with HW designer types.
But, really the need/benefit for this is mostly a couple of decades past. Between compiler advances, and advanced out of order execution HW there is very little scope for being able to play the hero by writing assembler any more. Although I think it useful to understanding how things work. I plan on teaching my kids (freshmen CS majors) to program in a very simplified assembler on a simple virtual machine, just so they have a feel for what goes on. Hopefully we can play with stuff like unrolling, software pipelining, caches, and prefetching, bottom loading etc. So at least they will know that at some level this stuff is going on.