rm is used to delete files.
it will free up space. the only time that it won't is if you happen to rm a file that has an open file descriptor.
for example /var/log/httpd.log (or what ever) is being written to and held open by the httpd daemon. If you happen to delete that file, it will appear to have been deleted, but in actual fact it is not. If you want to understand why, read about inodes on www.linuxdoc.org.
to recover from this type of problem, you need to kill the process that had the file open. If you do not know that process, try using lsof, it may be helpful. if nothing helps, reboot and everything will be peachy, the file will have been deleted.
Now, on to how to clean up space. you can use du -sk * from the / directory and this will display the usage of each directory under /. this will just tell you which directories are consuming large amounts. Then it is your responsibility to judiciously decide what can be deleted/compress/moved to make new space.
Also you should consider what partition is full. You say your users cannot print, where is the print spool directory mounted. IIRC /var/spool/lp .... is this mounted on / or /var ?
cd to the spool directory type df -k . and that will tell you its mount point. this is likely the filesystem that needs to be cleaned up. Then just wlk through with the du -sk and ls -l commands and find stuff you can whack.
you might want to consider /var/log as a place to start too.