A Pokemon with horrible stats will still do fine/ well if levelled up higher than your opponents. IVs etc. don't matter too much in-game since you can compensate by over-training.
As for Pidgeotto... there aren't that many good Flying types in HGSS, and since you're at Mahogany anyway, you might as well keep your Pidgeotto.
(Also what stats did you look at? It's usually hard to determine your Pokemon's IVs in-game, so you might just be mistaken. As long as your Pidgeotto doesn't faint constantly, I think it's alright.)
If you really want to train up something else, I would suggest Crobat due to that nice Poison/ Flying typing. Pidgeotto doesn't offer a lot in terms of resistances.