I've been working with the GPL licensed SharpZipLib on a home project and I love working with the library. I previously used a commercial zip tool in C++ and this thing is much nicer to work with.
Similar to the last post where we're serving up a .png, we have another situation where we serve up an XML document that forces IE to host Excel to view the data. Since we're launching a separate window, I can't dump the document directly from the aspx page - that's where a handler comes in. Problem is that the document can be rather large - especially being stored as xml, but now I'm thinking I'll compress it using SharpZip and store it in the database and decompress it on the way out of the httphandler.