By default, Windows32 (assuming the full 4GB is used) reserves 2GB for the kernal, and 2GB for the user. Hence, all applications must total less then 2GB of RAM usage. (EG: Crysis on my old rig always maxed at ~1.7GB, and combined with other apps, was right at the 2GB limit). The 3GB switch can change this behavior to allow the application RAM limit to be moved up to 3GB.
PAE allows for a larger total address space (via multiple address tables), but no single app can access more then the total space of a single address table (4GB). So you gain the ability to use more then 4GB (up to 64GB), but no single app can use more then 4GB at one time.
Windows64 allows up to 2^64 (a lot
) or RAM, which is shared equally for all user programs. Some amount is still reserved for the Kernal though (I suspect 2GB, but have not confirmed this...)