Iron Head
This isn't even a close call for in-game usage.
- Iron Head has way more PP
- Opponents in game usually have poor IVs and no EV training, so the opposing Pokemon speeds are much lower than you'd come to expect from competitive play, which makes Gyro Ball less viable.
- For a Nuzlocke, it's much better to deal consistent, reliable damage than to rely on a variable power move like Gyro Ball which changes from opponent to opponent.
- The way Gyro Ball's base power is decided is
25*(Opponent_Speed/Ferrothorn_Speed)
which means that for it to be as powerful as Iron Head, the opposing Pokemon has to be at least 3.2x faster than your Ferrothorn. So if your speed is 40, opponent speed must be 128 or more for Gyro Ball to do more damage than Iron Head, which is not very common in the game.
I'm almost positive that the overwhelming majority of people who advocate for Gyro Ball Ferrothorn are talking about its usage in competitive online battling, where most of the Pokemon that you face in the OverUsed tier are much, much faster due to having perfect IVs and EVs than the game. Also, in competitive battling, PP isn't a huge issue because you don't have to heal after every battle. Whereas in a playthrough of White, you'll have to face multiple opponents before you can heal at a Pokecenter. This is even more challenging for a Nuzlocke where you can't afford to let Ferrothorn faint, and your PP usage will affect the next battle as well.
I would like to know why Gyro Ball is supposedly better as well as why I am getting more damage from Gyro Ball.
It is only true in OU (where Ferrothorn is usually used) where the majority of opponents (fully evolved, offensively based Pokemon with max IVs, all at level 100) are much, much faster than the Pokemon you face in White. As for why the extra damage, then it's because of how the base power of the move is calculated, and the Pokemon in game are usually much slower than the required threshold.