Eraser basically wipes free space by creating lots of small files filled with pseudorandom data. However, there's more to it than that.
If the hard drive has been filled, you probably wiped most of what there is to find, at least as far as the ability of file recovery programs to find old material is concerned. Even so, filling up the drive wouldn't have cleared the empty, yet allocated, space at the end of existing files (to the end of the cluster) where old data can still reside. It might also have missed small, unallocated numbers of clusters between files, unless you filled the drive with small files to begin with.
If you can't use Eraser, you might try using the "fill up the drive" method both before and after defragmentation, using files that are about the same size as the clusters on the drive (typically, anywhere from 1kB to 4kB).
You will be removing every file that you deleted, and those files can be recovered with a simple undelete utility, making your computer less of a security risk. HD search times will improve, the HD will be able to breath better.