Onix evolves into Steelix when traded while holding a Metal Coat. This evolution method was introduced in Generation II, when Steelix was added as a powerful new branch of Onix's evolutionary line.
The Metal Coat represents the transformation from Onix's original Rock/Ground typing to Steelix's Steel/Ground typing. Onix must be holding the item when it is traded; simply using a Metal Coat on Onix, or trading it without the item, does not normally trigger the evolution in the main series games.
Steelix is not the only Pokémon associated with the Metal Coat. Scyther also evolves into Scizor through a Metal Coat trade, which is why the item is sometimes confused with Steelix's evolutionary method. The Dragon Scale instead evolves Seadra into Kingdra, while the Up-Grade evolves Porygon into Porygon2.
Steelix's design emphasizes the result of this metallic transformation: it becomes a massive steel-bodied serpent said to live deeper underground than Onix. In later games and spin-offs, some alternative evolution systems exist, but the classic main-series answer remains a Metal Coat trade.