The eagles show up to attack the Nazgûl in the final battle and looked like they were pretty effective. Had they helped during the siege they could have neutralized the Nazgûl flying in and destroying the catapults protecting Minas Tirith. Why wouldn't they participate in that battle?
There isn't really a canon answer, so this is just conjecture: The battle for Minas Tirith was not as important as the final battle. Whether Minas Tirith fell or not was inconsequential to the Eagles since the ring was not near enough to Mount Doom to be destroyed. However when it was close enough (i.e. when the final battle was raging) they entered the battle to provide additional distraction of Sauron. They weren't as concerned about the fate of men as they were about the destruction of the ring, and helping out in the battle for Minas Tirith wouldn't help destroy the ring in their eyes.
The eagles didn't help out in the Battle of the Pelennor Fields because they were not obliged to. It was their habit not to involve themselves in the dealings of Men -- they would only help them to return a favour, as seen in The Hobbit, or when they were commanded to assist by command of the Valar. A normal person could not order them around. The only beings they obeyed were the Valar. So, basically, they were just wild birds with no masters.
All the lands from Gondor to Rivendell and beyond were gripped in war. It's not like Gandalf could just pick up the phone and ask them to come down. Besides, it's a meme for Tolkien to have the Eagle come at the last moment.
Not to mention, they probably would not have done well against the Nazgûl. It only appeared so because the Nazgûl were simultaneously being summoned to fly back to stop Frodo.