Does it discard the RAM away that was used by programs or transfer it to a page file on the hard disk? Or does it just clean up the unaddressed RAM?
RAM free'ers are forcing other programs to swap most of their pages out to disk (often by allocating lots of memory). If those programs don't need those pages for a while (for instance, if they are a minimized window and also not doing anything), then this will leave more ram free. Note that you don't generally get to control what's being pushed out to disk - just that something is.
The problem is that leaving RAM free isn't, in itself, useful at all. If another running program needed that RAM, then the paging would have happened at that moment, instead of when you ran the ram free'er. And the moment you want that program that's been pushed out to disk to do something (for instance, if it wakes up every 5 minutes to check your status on facebook), it's just going to swap back in to do it.
If you really have a ram problem, you have a couple of options:
1) Get more RAM. Simple, direct, possibly expensive or (depending on OS & hardware config) impossible.
2) Run fewer programs. The less things that are running, the more RAM is available for the things that are running. This also involves choosing less resource-intensive utilities. For instance, if you leave an IM utility open all the time, pick one that has a small memory footprint instead of one that has all the flashy features.
3) Get faster disks. This doesn't actually give you more ram (obviously), but if you use faster disks for your paging files, then the times involved in swapping pages in and out of memory will be lower and therefore less noticeable.
There are no other real options.
Basically what RAM free'ers do is that they reserve large amounts of RAM forcing Windows to swap other programs to disk and then freeing the RAM they reserved. There might be different strategies to do this, but I'm not awere of the internals.
I'd suggest to get more physical RAM if that's possible, as there will come the time when the outswapped program needs to get its share of memory back...
By trying to fool the operating system, it gives the impression that maybe something is being done. Such an approach is pretty much a case of robbing Peter to pay Paul.
Or... if you try and get something for nothing in the long run you get... nothing.
In other words, I regard this kind of thing as a con. If you are short of RAM, the best long term technical solution is to buy more.
Windows sends a 'LOW_MEMORY' message around that asks all application to free their unused data. SQL server and file caches get cleared so you'll end up with lots of extra free space. This also clears the windows file cache wich can take easily take 1 gig of space on startup.
Allocating a big chunk of memory is an easy way to trigger a LOW MEMORY message but there might be smarter systems in place.
Along with the other answers, older tools like RAMDoubler used to compress RAM in memory, with the obvious CPU cost on access. I think no one does this anymore, because of that access cost.
EDIT: no one.. well outside of Apple Everything old is new again. More specifically, the spread between CPU speed and speed of memory technologies (especially disk) is sooooo big that this is now a better option, especially with the electricity (read: battery) cost for hitting disk.