Its actually a very simple thing to explain.
If you've ever tinkered with DOS you'll remember that the maximum amount of RAM addressable was 1mb, of which 640kb was available for programs, with the remainder being reserved for devices. DOS was a 16 bit OS, which later acquired extensions to utilise the extra memory brought about by the then revolutionary 32bit CPU's.
Fast forward 20 years and we are now hitting that same wall within the 32bit compuing enviroment. Your PC has to reserve address space for other devices within the system, depending on the devices you have installed this can vary.
If you think of the memory in your machine as a town, the memory you can see are houses, the data is post/mail, and the bit thats missing is the address book. To get the data to the right house you need to know all the addresses in the address book. So you reserve some space in the town to hold them all so you can figure out where to send the mail.
Now there was going to be support for something called PAE in Vista 32bit so that it could see more than 4gb of RAM but unfortunately it caused huge headaches because a lot of device drivers would have to be re-written to prevent instability in the OS. Microsoft decided that in the interests of stability that it simply wasn't worth the pain.
If you want to see the full 4gb of RAM in your machine you will need a 64 bit OS. I happen to run Vista X64 and I have only one major game that causes me a problem and thats S.T.A.L.K.E.R which isn't exactly bug free in the first place. I work in a games shop so I've pretty much thrown every new release at it without issue. Thats, Bioshock, COD4, Gears of War, Test Drive Unl, Eve Online, Company Of Heroes, Dawn Of War, Crysis, an old copy of Red Alert, Uplink, all the HL2 variants including TF2, CS:S and Day of Defeat.
I play a lot of games and if Vista was as bad at playing games as people would have you believe I would have switched back very, very quickly.
It also happens to be the most stable OS I've used, restarts are required when I update drivers or install windows updates.
One thing that is bad with Vista is initial startup. It is sloooowww, but once its up its up.
One last thing - because a 64 bit OS uses more memory than the 32 bit equivalent the extra memory you see is not that huge, although if your running a DDR2 machine your could probably throw 8gb in it and then it really will fly.
Interesting article here on someone's blog that explains more than I did -
clicky