Guy Fullerton wrote the definitive analysis of two-weapon fighting under the 3.0 rules of Dungeons and Dragons. One of Guy's points was that for a straight-up fighter (or ranger), the two-weapon combatant gains little advantage over those using other styles; in fact, for those wanting the best power play, the pure fighter could probably do better. For a character with the ability to inflict extra dice of damage with each hit, though, such as a rogue sneak attacking, the tactic comes into its own.
But under the new 3.5 rules, two-weapon fighting has been un-nerfed, that is, made more powerful, so that even the straight fighter will find it worthwhile.
Most importantly, under the 3.0 rules the tactic really required two feats, Ambidexterity and Two-Weapon Fighting. Under 3.5, Ambidexterity has been eliminated, so that all the advantages of both are offered with just one feat. The two-feat requirement was a high cost for entry; now that the price is lower, the return on investment is higher.
Moreover, several rules changes have made two-weapon fighting even more attractive:
- Two feats -- Improved Two-Weapon Fighting and Greater Two-Weapon Fighting -- make the tactic pay off for experienced characters with high base attack bonuses -- with these, the off hand weapon also gains extra attacks for high BAB, making the tactic more appealing.
- The Two-Weapon Defense feat gives a +1 shield bonus to AC. That just sweetens the two-weapon tactic further. Note that the bonus is gained when "wielding a double weapon or two weapons," so it applies any time your weapons are in hand, not just when making two attacks (which requires a full attack action).
- A couple neat double weapons are now available as martial weapons (not exotic weapons) to two races. The dwarven urgrosh and the gnome hooked hammer are freely available to dwarf and gnome fighter-type classes. This makes the fighter dwarf with an urgosh a much more viable choice under the 3.5 rules, since you get the Exotic Weapon Proficiency feat for free. (Note that half-orcs do not gain the orcish double ax! I guess half-orcs are powerful enough without a free feat.)
- The tactic can now be used to throw weapons with both hands. For the character specializing in thrown weapons, this is a more powerful option than the Rapid Shot feat when one's BAB is +6 or higher. (Similarly, the monk can now throw shuriken as a monk weapon using flurry of blows. Considering that the 3.5 rules nerfed shuriken, monks using flurry of blows are just about the only characters who will bother with the weapon.)
- The ranger class has been revised, so that a ranger can use a double weapon (under the 3.0 rules, rangers were limited to two weapons, not a double weapon). This makes the ranger gnome with a hooked hammer a more viable choice.
But the ranger has been changed in other ways that affect this tactic. Under 3.0, a single level of ranger offered the advantage of both Ambidexterity and Two-Weapon Fighting. Under 3.5, the Two-Weapon Fighting feat is not gained until second level. The result of this change is that it is less attractive to multiclass to ranger just for Two-Weapon Fighting -- you have to dip two levels of ranger to gain the benefit, which you can now buy with just a single level of fighter, given the bonus feat gained as a first-level fighter.
However, the changes listed above do not alter the heart of Guy's analysis. Let me summarize. There are three major styles of fighting: one-handed weapon plus shield, two-handed weapon, and two-weapon fighting. Guy says that the best way to make the two-weapon style pay off is to increase the amount of damage each weapon does, for example, by sneak attacking, using weapon specialization, using weapons that add dice of damage, etc. That's still true under the 3.5 rules: the rogue who sneak attacks with two weapons remains a potent two-weapon fighter. But with the changes listed above, even straight fighters with two weapons can go toe-to-toe with their shield- and two-handed-weapon-using brethren without feeling like second class citizens.
That said, a few other changes tip the balance even further, allowing the two-weapon fighter to intrude on the other two fighting styles.
The Improved Shield Bash feat lets you bash with a shield in your off hand while still retaining the shield's bonus to AC! Now you can gain all the benefits of fighting with weapon and shield, and when making full attack actions you get off-hand attacks as well! Considering that (per the PHB) a "shield can be made into a magic weapon in its own right," the shield bash becomes a sweet option. You can even give it the "Bashing" ability (per the DMG) to boost base damage.
As the PHB suggests and the official Wizards of the Coast D&D FAQ confirms, you can use armor spikes to make an off-hand attack even when using a shield or a two-handed weapon! With no "Improved Shield Bash" feat-equivalent required, you can attack with a two-handed weapon and make extra attacks with armor spikes any time you take a full round attack. And per the PHB, you can enchant armor spikes just like other magic weapons.
Given these two changes, two-weapon fighting really comes into its own -- not just as an alternative to using a shield or a two-handed weapon, but also as an adjunct to those fighting styles. I have not cranked the numbers the way Guy has, but I suspect that under these new rules, any character with feats to spend can benefit from two-weapon fighting.