I found this over at Digg.com. Jeff Atwood has provided more detail than you could ever imagine on this problem:
To be perfectly clear, this isn't a Windows problem-- it's an x86 hardware problem. The memory hole is quite literally invisible to the CPU, no matter what 32-bit operating system you choose.
Jeff does a great job with charts and everything to explain why your Windows desktop will only see 3 GBs or so of RAM. Definitely worth a read if you have ever wondered about this question.