How does CPU bottlenecking work exactly?

Hi guys

I was under the impression that bottlenecking(specifically in gaming) worked as such : 

If you pair a high end CPU and a low end GPU together, the bottleneck in the system would be the GPU.  Conversely if you pair a low end CPU and a really high end GPU, the bottleneck would be the CPU.

However some people say that bottlenecking is a bit more complex. Example : they say if you pair a Pentium 4 with a Gt 210, you will get say, 30 FPS in a given game. BUT if you pair a Pentium 4 with a GTX 660 you will get even lower FPS. 

Is this possible? The example I gave was made up, but is it possible for FPS to DECREASE if you pair a more powerful GPU with a weak CPU?

Bottlenecking is pretty much paring hardware not capable of living up to each others full efficiency.

Is that all to it? So is it not possible for a better GPU to cause less FPS in games (given that the CPU is pretty low-end)

Bottlenecking is when you hit a performance cap based on a part. A low end CPU with a 650 and that same CPU with a titan will actually have the same FPS because the CPU holds the GPU back. A PC with an i7 and a GT 620 would be bottlenecked by the GPU (not to mention if it's ivybridge or later the integrated graphics would be faster than the 620)

There is always a bottleneck. No exceptions. The bottleneck is whatever happens to be holding the performance back.

If the GPU finishes drawing a frame, but the CPU is still figuring out what the AI is gonna do, that's a CPU bottleneck. If the CPU finishes up its work before the GPU finishes drawing a frame, the GPU is the bottleneck. If you're running at 60 fps solid with a 60hz monitor and vsync, the monitor is the bottleneck. In the most general sense, one of those is always the case. Either the CPU finishes first, the GPU finishes first, or you're running at a capped framerate. (It actually is more complex than that because game loops aren't so simple anymore, but the idea still holds, mostly. There can also be memory and IO bottlenecks, but those are much more rare in games)

If all you're doing is gaming, you want to choose hardware to minimize how much time each part spends not doing any work. A $250 CPU that doesn't use even half of its potential is a big waste of money, same with a GPU. Figuring out what hardware works well together takes a lot of looking at benchmarks for the games you play and the hardware you want to buy, and some personal experience.

Also, there is no simple reason buying a faster part should make the system as a whole run slower, but with driver differences and such (you never really know how much CPU time drivers are using), it is possible. It would usually be safe to assume that isn't the case.

Thanks for this :)