Because it is enormously low level, assembly language can be optimized enormously well. Therefore assembly language is used where the extreme performance is needed for applications.
It is also valuable for corresponding with the machine at a hardware level. For this reason, it is frequently used for writing device drivers.
A third advantage of assembly language is the size of the resulting programs. Because no conversion from a higher level by a compiler is necessary, the resulting programs can be exceptionally small. For this cause, assembly language has been a language of preference for the demo scene. It occupies coders writing extremely small programs which show off their imaginative and technical abilities to other members of the scene.