Yeah, basically what they do and how they work is take a file, and all the empty pockets of data taht aren't being used within a file (loads of gaps in programming, etc) are scrunched down and remembered by the WinRar program as smaller chunks.
When it is then decompressed, these chunks are then placed back into the file.