Regarding terrorists, yes an armed citizenry can cut attacks short. Arming Israelis helped to stop terrorist attacks with guns. But the terrorists adapted, they went to bombs and then suicide bombs. But the Arabs wouldn't even bother with such tactics if it wasn't for the Israeli govt. and the IDF and IDAF. They'd simply send their armies in to slaughter the well-armed citizenry with tanks or artillery. They'd pull an Assad and level the Jewish cities artillery.
Guns on the planes might have helped. But if the average citizen could carry guns on a plane, wouldn't terrorists also be able to get guns on board? In several of the hijackings, the terrorists were the majority in first class with only a stewardess and businessman or two in their way. As the attackers, they would have had a huge advantage in a gun fight. To be honest, probably the only place where a gun could have made a difference was in the cockpit. And only if the door had been secured. But the new doors and pilot wariness wasn't part of the equation early that morning.
Guns wouldn't have helped against the shoe bomber if he had simply used a lighter or if he had went to the bathroom to use his match. Instead, the moron tried to do it in front of others.
Please note I believe Americans should be allowed to carry guns in most places. But to believe that such individual weapons could defend our country against organized armies is wishful thinking. Do not confuse the British Army with it's thousands with a Chicom army with it's millions. There were things that the British wouldn't do over the long run. The Chicoms would willingly slaughter every American they found in a resisting area. Also, Americans were a relatively self-sufficient pre-industrial society in 1776. But today, only a handful of people live on farms. An invading army could easily starve most of the population into submission or death. No, our best defense is our ability to sink such an invading force with our expensive and advanced Navy and Air Force.