One Removes the Water; the Other Protects the Metal
Corrosion needs three things: a metal surface, oxygen, and moisture. Take any one away and rust cannot form. A desiccant attacks the moisture — it lowers the relative humidity inside the package below the level at which corrosion proceeds, which protects everything in the enclosure, metal or not. A VCI attacks the surface — its vapour settles on every exposed metal face, including blind bores and internal cavities, and forms an invisible passivating layer that keeps corrosion from initiating even if humidity later rises. Desiccants are about the environment; VCI is about the part.
That distinction decides which you reach for. If the risk is general dampness, condensation or container rain across mixed cargo, the desiccant is the primary tool. If the goods are bare or machined metal that must arrive bright after long storage or fluctuating conditions, VCI is the primary tool because it keeps working after a desiccant would have saturated. For high-value metal on long, humid voyages, the strongest packs use both: VCI on the metal, desiccant in the air, sealed inside a barrier bag.