Let's say that the CPU + powerful iGPU cost 95% of what a discrete CPU and GPU cost - but now you can't buy them separately, can't upgrade them separately, etc. You're less likely to get the mix of CPU and GPU that you're looking for since you can't select them independently. Why not just package the RAM with the CPU too? Apple's done that, but I think most people don't love that because it means they can't upgrade their RAM independently.
It also places constraints on how good something could be. Let's say that you produce new GPUs every 18 months and new CPUs every 12 months. Well, now you need to synchronize them. If the new CPU is ready to go, but the new GPU is 3 or 6 or 9 months out, what should your product releases be?
By having them separate, someone can buy the latest AMD CPU even though the next-gen GPU is 6 months out. When the next GPU comes out, they can buy that and upgrade the graphics and CPU on different cycles. Syncing up different product cycles isn't always easy.
I think the reason why is that they don't think there's likely a market. With things like a PlayStation or Xbox, it's going to (pretty much) have one set of capabilities for its 7-year lifecycle. You can integrate the CPU and GPU because there's only one buyer and because the CPU and GPU release have to be synced anyway for the console's release. With PCs, the release doesn't have to be synced and there are many buyers with different priorities.