The GPU is a whole separate computer, running code independently, with its own clock scaling and power management. Having two separate things that can break is more complexity than one thing that can break. And having to have the two communicate in order to do delicate procedures like waking from sleep increases complexity dramatically.
Also, on many Macs, it's actually three separate things. There is the CPU, the integrated GPU, and the discrete GPU. The system switches between the two GPUs dynamically based on load and whether the system is plugged in.
Also, on many Macs, it's actually three separate things. There is the CPU, the integrated GPU, and the discrete GPU. The system switches between the two GPUs dynamically based on load and whether the system is plugged in.