- Usually, to have better understanding about how computer architecture.
- To deal with new hardware, like embedded system
- To write Windows Driver
- For code optimization (inline assembly)
- To become high skilled debugger (it would be a good investment guys !)
- To learn algorithm (Donald Knuth style)
- Just for fun hehehe.