A funny thing happens when you decide that you want to try and make D&D emulate reality, rather than trying to make it emulate video games or movies or novels or whatever.
The "rule of cool" doesn't seem so important anymore, and (even better) the nigh-impossibility of true simulation makes D&D's underlying abstractions make so much more sense than a face-value reading of them would at first suggest.
Take the simple attack. Whether you use the basic game's 10-second round or AD&D's nonsensical minute-long round, an "attack" is not one swing of the sword. It's the constant flow of the duel, thrusts and slashes, parries and ripostes. The attack roll is just an abstraction for out-dueling your opponent, and a "hit" isn't a hit-hit, it's just gaining the momentary upper hand in the fight, pushing your opponent back, catching them off their guard, wearing them down, maneuvering them into opening their defenses.
So there ought not to be a need to model every thrust or swing, including off-hand attacks like a shield-bash or a quick, sneaky thrust with a main-gauche. The problem is, there aren't very many good ways to model two-weapon fighting in D&D's system without making the style either weak and pointless (this would be, "no extra attacks, you just pick which weapon you swing that round"; or "attack once with each weapon; each causes half normal damage"); or so obviously cool and advantageous that everyone does it (this is any dual-wielding system where a second weapon gives you an extra attack for full damage, even with to-hit penalties involved; or where you roll damage twice and apply the better damage roll—that makes dual-wielding even better than using a greatsword).
Extra attacks are out. They're just a bad idea. If any old schmuck with a short sword in one hand (or a kobold with a spear) can ball a fist and swing a punch and have that count as an extra off-hand attack, your RPG mechanics are doing something wrong. That level of detail should never be necessary. Instead, said mechanics should be aimed at cutting down on the pointless die-rolling (and any pointless math while they're at it). They should also casually, without comment, appear to be modeling reality.
So… let's start with the facts that ain't gonna change.
In my new edition of E&E, non-fighters (including NPCs and monsters wielding weapons) use "basic" damage—1d4 for a dagger, 1d6 for a one-handed weapon, 1d8 for a one-handed weapon held in two hands or a long-reach pole-arm, 1d10 for a two-handed weapon without reach.
Fighters, thanks to a special class ability, bump this up one die size: 1d6, 1d8, 1d10, or 1d12; but mine is also a game where Strength and magic bonuses only adjust the to-hit roll, not the damage roll, so this is just a nice little bonus for fighters, nothing that could possibly unbalance the game. A fighter with Strength 18 and a magical great sword +3 still deals… 1d12 damage on a hit.
A fighter with a short sword and nothing else can cause 1d8 points of damage with a single blow. Give the fighter a broad sword, and suddenly it's 1d10 damage, because he can "double-grip" a medium-sized weapon for extra damage. But if you're not going to use a shield, why not try a weapon optimized for two hands? If the fighter gets a great sword, he can roll 1d12 for damage; make it a pike-staff instead and the damage remains 1d10, but now he gets 10' reach; but either way, with a two-handed weapon, he can't do anything else with his off-hand. Straightforward so far.
Now let's give the fighter a shield. I have all shields granting a −2 to AC. Whether he has a short sword or a long sword, in one hand it's 1d8 damage. Decent damage, optimal defense. The best choice for any fighter who wants to "tank".
That leaves one other option: the off-hand weapon. In reality, an off-hand weapon is mainly used for defense—for parrying. It's a shitty shield, basically, that can occasionally sneak in a hit. How do you model that? Easy enough, once you put it in such clear terms: −1 to AC and +1 to critical hit range. Simple, right? Here's the rule: as long as the extra weapon would cause 1d4 points of damage on its own, when you wield it as an off-hand weapon along side any other melee weapon (so, it could be a dagger, could be another long sword, doesn't matter), you get −1 to AC as if the weapon were a crappy shield, and you have a base 10% chance to crit instead of 5%—but you're still just rolling to hit and causing damage with your main-hand weapon only, like normal.
If "dual-shooting" with missile weapons (thrown darts, throwing knives, pistols), the bonus to crit range applies; the bonus to AC does not.
One of the nice, elegant things about this rule is that since the expert class gets a better crit range and (especially) a better crit multiplier as they go up in levels, dual-wielding is a style that naturally favors that class (without ever having to give the expert class any special facility with dual-wielding by means of a specific class ability). Roguish swashbucklers and gunslingers now have every reason in the world to run around with a rapier and dagger or a pair of pistols; and it's still a viable style for a fighter, but most fighters are better off with sword and board, pike-staff, or great sword.
And since it doesn't grant a bonus attack each round, you don't have every single player and their cousin (and all henchmen and retainers thereof) using the one fighting style that was almost never used in real life-or-death combat.
This makes me a very happy DM. :)