Okay they are powerful, but still in Dragonsreach there is a dragonshead so they might be powerful but breaking them apart is possible and has been done before.
After hearing that Dragonsreach was built on top of a dead dragon, I totally expected Alduin to show up, revive the dragon, and see the place destroyed as it pulled itself out of the ground and back together.
I was sad when that didn't happen.
(even though I like the place)
Needing the Dragonborn to permanently kill dragons does seem like a plothole, to me. If Alduin is the only one that can revive dragons, then the Dragonguard would never have needed a Dragonborn because Alduin was already long gone before they showed up, and they could bring down dragons on their own. Kill a dragon, and without Alduin it's not going to get back up. No Dragonborn needed. And if the dragons are supposed to be the closest thing to immortals next to the gods, then it wouldn't make sense that only Alduin could bring them back to life after they're slain (especially if Alduin was overstepping his bounds, as is suggested in-game).
If Alduin isn't the only one that could kill dragons, then how did they get almost all wiped out in the first place? All it would take is one dragon that can revive another, then those two can revive two more, then those four can revive four more, etc. Aside from Paarthurnax, there were three others known to be alive near the end of the second Era (Ahbiilok, Mirmulnir, and Nahfahlaar)... who knows how many more there could've been hiding.