Clusters and Node Pools - when would you create node pool separately

Just got throught the lecture in the GKE course about autoscaling, and one big question I’m left with is if you create a cluster with autoscaling enabled, and it provisions already an expandible node pool (the default node pool), when would you want to add another node pool as was demoed and on which we did an exercise? Would the use case be that you want to create a pool of nodes that are based on a different processor type and create taints that direct certain pods to this other node pool (i.e. if you have some CPU intensive pods, you want them on a node with more horsepower)?