No, it shows a difference because they are different measurments. The 4 GB is how much is available to the system (any OS), while the XP shows how much RAM is available to XP. It might be different if you were using Linux, Win 7, Win8 or some other OS.
When I don't mix memory, it shows 4GB. And what the real difference between them? Which is better? Some say, it's because chips on one or both sides (doesn't sound credible, sorry). Some say it's memory range. What is it?
The reason why 32bits OSes cannot use the whole 4GB is because part of the address space is used for memory-mapped IO. Because of that, 3GB is the most memory worth bothering with unless you want to mess around with hardware, drivers and OS parameters to reduce the amount of address space lost to IO.