"Defragging" RAM is really kind of misleading.
A hard drive is a sequential(ish) device, in that a head must move to the appropriate place on the disk and wait for the data to spin past it. This means that a large number of fragmented files can potentially slow down performance.
RAM, on the other hand, is truely random access. Data can be accessed from the first byte to the last in a constant amount of time. Therefore it doesn't matter one bit how "fragmented" it becomes.
What these RAM defragmentation programs do is take over memory management from Windows and make decisions about what data should be in physical RAM and what data should be swapped out to the pagefile. In other words, they can sometimes free up physical memory and try to get more of your foreground applications into physical memory so there is in theory less swapping. They also will run garbage collection, freeing up abandoned memory, which can actually be a considerable problem on Win9x systems because of their very poor memory management. Finally, they will typically mess with the windows VCACHE settings on the fly (you know how the second time you start an application it seems to load super fast? that's the vcache, and is really only problematic SOMETIMES on 9x).
On a Windows 9x system with 128MB of RAM or less, one of these programs might improve system performace to some degree, and/or help with memory-leaking applications. The problem is that performance could be much less predicatable (not that win9x is predictable to begin with).
On a NT system (NT4/2000/XP) with standard 256/512MB or a Win9x system with over 128MB of memory I don't believe that these programs are beneficial, and in the case of NT operating systems, are probably not very effective at all. In fact, on an NT system you should be able to do very much the same thing by just shutting down all of your programs and restarting them.
Slackmaster 2000