Mostly this comes down to personal preference or what you're looking for on your team. I looked at each candidate in terms of several categories.
~ Offensive ~
Ferrothorn wins this without question. Though they have similar Attack stats and almost equally negligible Special Attack, Ferrothorn has a movepool that consists of more than Gyro Ball, even if it extends only to Power Whip. On top of this, Ferrothorn can use Curse, Hone Claws, or Swords Dance to set up while Forretress will have to rely on Power Trick to do any real damage, and doing so compromises Forretress's greatest attribute. If you're going to use either offensively, there's no reason to use Forry.
~ Defense ~
I believe strongly that Ferrothorn is victorious here as well.
Ferrothorn's resists: Normal-, Water-, Electric-, Grass- (x4 resist), Psychic-, Rock-, Ghost-, Dragon-, and Dark-type. 9 total +1 x4 resist.
Forretress's resists: Normal-, Grass- (x4), Ice-, Psychic-, Bug-, Ghost-, Dragon-, Dark-, Steel-type. 9 total +1 x4 resist.
Their resistances are similar, but Ferrothorns Water/Electric resistances are a lot more useful than the Ice/Bug resistances Forretress has. Not to mention Ferrothorn's resistance to Stealth Rock helps. In terms of stats, sure, Forretress barely comes out on top on the physical side, but there is no contest on who can take special hits better. On top of this, Ferrothorn's ability punishes an opponent for attacking with common moves, making him even less favorable to run into. Defensively, you'd want to run into a Forry much more than a Ferrothorn.
~ Utility ~
While one could argue Ferrothorn's superiority in this category, Forretress is the better of the two. Access to Toxic Spikes and Rapid Spin, as well as the Spikes and Stealth Rock the two have in common, makes Forry much better at supporting the team than Thorn. Forry can also set Screens while the ability Overcoat gives it the chance to shine on Hail teams, making him one of the two Toxic Spike users immune to Hail damage.
This is why I believe Ferrothorn is the superior Pokemon, but Forretress still has its uses. Hell, Ferrothorn has changed the entire metagame while Forretress has yet to do anything different since 2nd Gen.