Afaik there's no "full drive compression" with NTFS, pretty much died out with stacker/doublespace back in the DOS days. NTFS does support per-file compression though, and it can be inheritable for directory structures - so in theory I guess it could be applied automatically for a whole drive.
I only use it selectively, though, since some data just doesn't compress well, and your boot files must NOT be compressed (or NTFS-encrypted, for that matter). Theoretically, with a fast CPU, it can be an advantage on some types of files, because systems are often disk I/O limited. Source code (mainly static stuff like the huge collection of PlatformSDK headers) compress pretty well...
In reality, however, I haven't seen much speed improvement from this. It might help with the initial build of a program after a cold boot, but after that, the necessary files tend to be in filesystem cache, and the disk isn't involved at all. Also, you don't gain that much disk space from the compression, and drives are cheap these days. Last, iirc there's some fragmentation-related issues once you enable NTFS compression, but I can't remember the details and I'm not in the mood for googling it up