I'm reading about various databases and stumbled upon a 'vacuum' command for postgresql. I assume something similar exists for MySQL, how useful is this and how often should someone run it? And why don't DB's do this automatically?

BTW, apparently it "removes space taken up from deleted records" and I assumed when a record is deleted, it's deleted ... what's being 'vacuumed' out?