HcDynamicCompressionLevel
controls the amount of compression that will be done for Dymanic content and likewise HcOnDemandCompLevel
controls the amount of compression that will be done for static content.
Definitions from II6 Metabase properties reference:
HcDynamicCompressionLevel property
specifies the compression level for
the compression scheme, when the
scheme is compressing dynamic content.
HcOnDemandCompLevel property
specifies the compression level for
the compression scheme, when the
scheme is to compress static content
on demand.
The trade off is compressed content for CPU cycles. As compression of dynamic content is done every time it is served, then it will be more CPU intensive than static compression which is cached after it is compressed.
The setting of the compression levels really depends on your ratio of dynamic to static content being served and the servers CPU capacity to carry the load especially for the dynamic compression. So CPU spikes are more likely to occur with compressing dynamic content, which is reflected with the lower 9 level but if your static content is changing frequently this too may result in more CPU cycles.
If your CPUs aren't being taxed then leave the levels as they are, otherwise change them in a non-production environment and test the impact taking into account page load times.
See Using HTTP Compression for Faster Downloads (IIS 6.0) for more info.