This is a simplified list of what goes on when you play a game.
- The CPU sends draw calls to the graphics driver, These draw calls could be anything from rendering a little tree to a mega battle with loads of explosions.
- The graphics driver then turns that into a scheduled rendering list and feeds it to the graphics card.
- The graphics card renders the list sent to it by the graphics driver.
Now as we all know CPU have varying amount of power, And we also know that games don't just consist of graphics.
There's sound, Physics, artificial intelligence and general game management code all running and requiring processing at the same time that these graphics draw calls are being processed.
Now if a large part of a CPU's resources are being consumed by sound, physics or artificial intelligence then there's not a lot of spare CPU processing cycles left over for processing the draw calls.
Now if you have a relatively weak graphics card this isn't a problem as the CPU could easily keep the graphics driver and thus, The graphics card fed with rendering information.
Now throw a high end graphics card and you're in trouble, With the CPU using it's processing power on other aspects of the game the monster GPU is stood idle waiting for rendering information.
And that is a CPU bottleneck.
It's also the reason why games that do support quad cores always benefit as there's more cores and CPU cycles to generate these draw calls while other cores handle other aspects of the game.