Lets see here. Defense makes better offense most of the time, does it? Attack isn't everything, people. I'm sure that you're all fully aware of this. Let's compare stats now shall we? And think about this, before saying "Staraptor OHKOs Pidgeot with 1 close combat" and other ignorant replies.
EDIT: Forget stats. Let's just get down to the point.
Let's look at Pidgeot's movesets, first. Oh look we have Featherdance. If using Pidgeot as a defensive pokemon, which it's defense is half decent or at least decent at most, it can be extremely useful. There's an intimidate for you. Packed nice and neat into a move. Just that simple. This making both of them equal. However...
Intimidate is an ability, and can be used only once, since it's not a move. No one would bother switching pokemon back and forth just to lower attack more and more. Again, feather dance has that advantage. Lower attack more and more until staraptor's attack becomes nothing. And seeing that staraptor can't learn swords dance..
That's really a problem. No way to regain attack unless holding a White Herb. =\. Staraptor is faster, but how can we cure that with Pidgeot? Simple. That's why it's been given Agility. And why have better movesets when you can copy your opponents?
That's right. Mirror move. Extremely useful for incoming close combats. Though best used if Agility isn't in effect. Both learn roost, and staraptor would just be wasting it's time doing CC, while lowering it's defenses. Omg did no one notice this?!
If there's any flaws in my point, please point them out. I try to get them as far as I can.
So in the end, Pidgeot wins, being defensive, which makes the best offense at times, including this. Sure, lower HP, but decent defense to at least take hits.