If you're using transaction logging then the default style of compacting is "in-place compacting with space recovery only". This frees up unused space in a database but doesn't reduce the size of the db on disk . If you're not using transaction logging then the default style, with no switches specified should reduce disk space. The use of the "-b" or "-B" switches can override default styles. There is an argument that says why bother reducing disk space if you don't need to. The "in-place compacting with space recovery only" style is the quickest and uses least resources. Also it doesn't assign a new database instance i.d (DBIID) so you don't need to do a full backup.
So, are you using transaction logging and what switches do you specify when you invoke compact?