Windows uses three kinds of memory. You've got the cache memory which is actually on the CPU itself, which is very, very fast. Then you've got the RAM, which is a tad slower, but is where most of your programs reside when running (because the cache is so small). Then you've got "virtual memory," which is really just harddrive space that Windows uses when you run out of RAM. The problem with virtual memory is that it is REALLY, REALLY SLOW. So any time you run out of RAM, it spills over into virtual memory, and any time it does that, any any time it has to pull something out of virtual mem, your computer takes a noticable performance hit, because of how relatively slow it is.
Windows XP needs a minimum recommended 128 or 256 megs of ram, I forget which, JUST TO RUN WINDOWS. So in your case, without really doing much of anything at all, you're already using virtual memory, and all your programs will load in that. When windows creates virtual memory, it allocates a single, large chunk of harddrive space for this purpose -- it's not fragmented like your other programs can be. So if the largest, defragmented chunk of free space you have is, say, 500 megs, that's the biggest your virtual memory can be. If after you defrag, you have a 1500 meg space, then that's as big as your virtual memory can be. Windows can adjust the size of the virtual memory as needed, but obviously can't do any more than what you have on your harddrive.
While it's always recommended to have at least 10% of your harddrive empty for virtual memory, a larger harddrive will NOT be as effective at speeding up your computer as buying more RAM will be. 1 gig of ram is rather cheap now (50 bucks or so) and will give your computer plenty of breathing room.