To answer your question about bottlenecking, it's pretty much exactly how it sounds. If you have a garden hose, and you plug most of the end, the water flow is reduced.
Same basic concept. Let's think of the water coming out of the hose as information moving from one component to another inside the computer. If a CPU is not strong enough or is simply too slow, it will not deliver information to the GPU at a fast enough rate to get fps. It is important to note that the total speed of a system is limited by it's slowest component. If the CPU is the slowest, you will likely notice effects while gaming and benchmarking. If the HDD is the slowest, you will likely notice the effects while attempting to launch programs or load game sessions. If the GPU is the slowest, the effects will once again be seen in gaming and benchmarking, but may also be noticeable when watching fullscreen videos.
A bottleneck is a component that is running slower than other components are requesting information from it. Because it is unable to deliver information fast enough, the computer feels slow and sometimes stutters as well.