I had another post on this info before.. here's a few facts.
#1. DEP(aka NX bit) requires PAE, so PAE is usually enabled already
#2. Windows reserves the upper half of the address range for the kernel, so no program can ever access more than 2GB of ram and on a 32-bit machine, all the programs together may not have more than 2GB of total memory used. Even if you have 3GB of ram, only 2GB will be usable and above that is used exclusively by the kernel
#3. A single program may use more than 2GB of memory in a 32bit machine *if* it uses special APIs to manage PAE paging.
#4. Microsoft disabled accessing above 4GB in any client OS because of driver issues.
#5. The 4GB address range is SHARED by all devices. If you have 4GB of ram and your video card has 512MB of ram, Windows has to map all 512MB of ram, so it means 512MB of your memory cannot be mapped. There are more devices than just your videocard that needs memory mapping, so expect less than 3.5GB of memory and even less if you use SLI/Crossfire since both cards must be mapped
Post Note:
The reason why drivers are an issue is because of this. Lets say you have 8GB of ram and you forced Windows into using all of it. Now lets say one of your drivers asks to allocate 8MB of memory. Windows, being PAE aware, will go out and allocate some memory and it might allocate it above the 4GB limit in *ANOTHER* page. Windows comes back and tells that driver "Here's a free memory range that you can use". The driver, being unaware of PAE, goes out and starts playing with that memory range. OOOPPPSsss.... WRONG PAGE!. Now the driver is running at kernel level which means IT CAN DO WHATEVER THE F IT FEELS LIKE. So now it's writing over another program's memory and suddenly your program crashes.
Now, I don't know how many of you people ever tried to overclock memory, but minor random memory errors don't always crash your system. Now image running a Windows Update and two different drivers try to allocate memory and windows comes back and says to each program "You get memory FFA0 on Page1 and you get FFA0 on Page2". Now both drivers don't know about PAE and start playing with the EXACT SAME MEMORY RANGE. Lets say one of those drivers is your Harddrive controller and the other is your sound card. Now, while your Windows Update is patching your files, you're getting a sound stream mixed in with your data and now you're screwed.
But [sarcasm]luckily[/sarcasm], these data errors are usually low, random, and cause quirks/corruption nice and slowly, like a cancer in your system and you wonder why your game crashes once per week, why Windows "just doesn't work right" and you need to reboot, why your data is suddenly corrupted after working so well for so long.
What comes to mind? Russian Roulette. Have fun....err, Just get 64bit.
This stuff is all well documented if you go read MSDN.