Azure node pools are great for appliactions that require computing capabiities outside of the standard azure VM SKUs such as SSD, GPUs and high end CPUs.
By using taints and tolerations workloads can be scheduled onto specific node pools, allowing just the right amount of the required special resources to be used when required.
without this capability our entire cluster would need to run with a SSD or GPU enabled SKU, forcing our COGS to increase.
Detaisl on node pool commands and capabilities are here https://docs.microsoft.com/en-us/azure/aks/use-multiple-node-pools