Everyone always asks this, but compression is most cleanly handled by your web server with Content-encoding: gzip, no? Why do we need to compress and minify markup and script files one at a time by hand?
Javascript compressors can intelligently remove blocks that general purpose stream compressors can't, like dead code or comments. Also because they understand the AST they can move code around to a limited extent to make the final output shorter.