I cannot imagine why any reasonably intelligent programmer would choose NASM over Microsoft's MASM. That assembler was written by Microsoft's professional programmers and maintained by them for more than thirty-five years. Windows contains much code assembled by MASM.
Exactly; it's 35 years old and probably contains 35 years of baggage. Last time I looked (20 or 30 years ago), it looked like it wanted to be a high-level assembler, with types attached to labels, and basically making it considerably more of a pain to write assembly than it already is. I've no idea what it's like now.
Also, looking at the current download, it says it's only 1MB, but it also says it needs Visual Studio 2015, which is more of a 6000MB download (expanding to an unknown size on disk). Nobody at Microsoft knows how to keep anything small and compact.
In other words, it's a monster.
Nasm, while not particularly small, is a self-contained 0.9MB executable.
(I write most Nasm code by generating it from a compiler. Any manually written code is usually inline ASM within a HLL function, in Nasm format. For this purpose, you don't need any high level features; even Nasm is overkill. MASM would be a nightmare.)