What are the roles of each individual hardwares that increase the overall performance of a system?

Newer games, operating system and applications are requiring more and more power from the system faster processor and more memory. Why is nowadays applications(games, os) need a better hardware setup to run on? Is it the games/application/os are more sophisticated and complex therefore more complex instructions are programme into the applications, therefore only a faster CPU would be able to run/launch the programs at ease?

Can someone explain to me the roles of L1, L2 cache, frontside bus and clock speed in improving the performance.

Basic requirement of the software also request for a better ram. Here's a question came to mnid that SD, DDR, RD ram and the cas-latency increase the performance. Why do most people suggest that video editing usage system should be well equipped with a 1GIG ram ?
And why it is you have a big amount of ram in your system, disable of virtual ram is alright?

Buying tips for getting a hard disk most people would say get a bigger disk cache ones and bigger RPM ones they would give you a better performance in read/write/access of your data.

What's the tips to get a graphics card? get a faster mem/clock speed ones?

Can anyone explain to me that when a application like MS Office launch by the user, how would each individual hardware like cpu,ram,hdd responds to the launching of the program?

For gamers why a good gfx card is needed? It is because of the intensive graphics rendering of the games? i.e a 4x/8x difference?

How would you go along choosing your components like cpu,ram,hdd .. etc.

hardware newbie here please pardon me...