While I know some really like the idea that NPCs don't have to follow the same rules as PCs, I've never cared for it. The way I look at it, 5e strikes a balance by making NPC statblocks that represent simplified class members for quick use rather than ongoing development.
The alternative that everyone else in the world works one way, and whatever party of adventures you are playing in a particular campaign are each the sole representative of their organized skill set (despite the fact that the class write-ups tend to imply there are many people of each class and subclass), is inherently unsatisfying to me, as someone who runs a "persistent world" D&D campaign, where more than one group of players and characters can participate in the world's ongoing history.
I kind of feel the same way, sometimes I build NPCs like PCs with the same hit dice and abilities, etc. However, I also know I'm probably not going to use everything with an NPC that I would when running a PC so I don't always bother noting down every ability. An enemy wizard for instance likely isn't going to have arcane recovery because I'm not going to find it immediately useful. On the other hand, an NPC wizard travelling with the PCs might include it.