It depends a bit on your personal preference (better damage vs. better HP,) but I believe Fairy Dragons gain the upper hand by being a flying unit. Thus, they cannot be targeted by ground troops and the Cannon Tower.
Yes, fairy dragons are a lot better for offence due to their flying capability. Shotgun dwarves are the best for defence due to their high HP and attack but lose out due to the fact that they are a ground troop. Making them open to bomb damage and cannon damage.
Ornithopters however are a perfect killing machine. Medium attack with outrageously high HP and the fact is...they fly!
Honestly I would get ornithopters first but I got fairy dragons instead...lol..