My opinion, but I could be wrong is: Whenever I need a component that does something I need, for example "manage a ZIP file in C#", I first start looking on the web and see what code and/or components I can find.
Most of the time you can find code very easily, because you probably aren't the first that wants to do this. Then I am looking at the complete components too, for example Chilkat has some nice components for managing ZIPs.
The advantage with components like this is, that they are under development for a long time and have most bugs figured out already. Sure, sometimes they cost money but if such a component costs only a couple of hundred dollars, it most of the time is cheaper to just buy it, then to develop it yourself (which requires more extensive testing again).
My boss always asks: which is cheaper? Build the complete thing yourself or just buy it online from a party which knows what they are doing?
Same thing went for the Telerik (www.telerik) control set. Sure the set costs like 1500 dollar or something, but creating the controls we needed probably costs us about 3 times as much.