I've never understood too much about how there's a gradual increase in processing power. How do they do it?

My current understanding is that computers use transistors, which have gates (relating to Boolean logic), which get smaller and smaller, allowing more gates to be put in a smaller area, thus allowing faster speeds. But this falls apart at the fact that the signals are traveling at (near?) the speed of light.

The increase in computing power allows for the creation of smaller and smaller *precision* gates along with the use of newer 'doping' techniques like 'camel gates' but you may also notice that they are now adding more processors to the cpu; my laptop has dual processors. The language is changing to help keep up - the cpu is multi-core, newer versions are massively multi-core. Graphics cards now have an incredible amount of processing power of its own.

Most of the increases are now in the programming, take a look at the wiki-link to get am idea.