XP was just very passive with it. More or less, when you quit an app in XP it treated the RAM similar to HD space: It marked it as free, but didn't remove any data. If you subsequently loaded the same app and the data was still there, it was much faster since it wasn't read back from disk. Now none of this showed up in the RAM meter in XP, it showed the memory as free, not noting that some of it was a cache.
In Vista and 7, this process is more obvious, and aggressive. For one, it'll tell you about the cache. It tells you the total RAM, RAM allocated, RAM used for cached, RAM available for use to programs, and RAM currently unused. So you can see a system with only 500MB of RAM "free" but 6.5GB "available". That just means that there is 500MB of RAM for which Windows has found no use at all at this point, but there is 6.5GB total it could give to programs, should it be needed. Also, they are more intelligent about what goes in RAM, watching which programs are loaded frequently and having part or all of those ready to go, rather than just what was run last.
Vista was a little less clear about RAM availability and more aggressive with caching than 7, but the basic operation is the same.