With regards to debugging software, I think being able to do so effectively even without source is an important and rather rare skill. And sometimes, even with the source, the compiler can introduce its own issues. Being able to read Asm and follow along with what the CPU is actually doing is exceptionally useful, especially when working with lower-level languages like C/C++. One of my friends has a saying along the lines of "if you can read Asm, software has no barriers to understanding."