Back in 2e, the dart was a lowly weapon with that did only 1d3 points of damage per hit, but it had one very unique property- namely, you could throw three of them in the time it took to make one attack. On the surface, it didn't seem like much, since three hits for 2 points of damage a piece wasn't that bad compared to hitting for seven points of damage with a spear or something. Unfortunately, the designers failed to consider that those three hits weren't just two points of damage apiece, but three separate instances of any damage modifier the dart thrower might be packing. This included modifiers from things like strength bonuses, weapon specialization on fighters, and any bonus from having a magical weapon. A high level fighter could get two or three attacks per round normally, which translated to six to nine darts per round, each with a +2 to damage or so from weapon specialization. Homing darts were magical +3 darts that did 1d6 damage instead of 1d3 and added +3 to accuracy and damage of attacks, as well as returning to the fighter's hand each round if the fighter didn't miss. If the fighter picked up a Belt of Storm Giant Strength, the fighter would add +12 to damage on melee and thrown weapons. So a fighter with those bonuses could have six to nine attacks dealing 1d6+17 points of damage each turn (20.5 average), and could double that number of attacks with the haste spell.
This is a game in which an adult red dragon has maybe 80 hit points, and the Tarrasque is the big beefy exception with 300 HP.
All this changed when 3rd edition came.
Unlike 2e, in 3e thrown weapons take the same amount of time to use as
swinging a sword or shooting an arrow at someone, though they have lower
damage dice (1d4 or 1d6 compared to the 1d8 of a longbow or the 2d6 of a
greatsword), and piss-poor range compared to other missile weapons
(ranged weapons have ranged increments, basic distances past which you
get a cumulative -2 to hit for each increment. A bow has a range
increment of maybe 100 feet, while a thrown weapon is lucky if it hits
20 ft. And while missile weapons can be fired up to 10 ranged
increments, thrown weapons can only be thrown up to 5 increments).
Ok, so thrown weapons aren't supposed to be as nice as missile weapons,
it's why people prefer to use missile weapons. That's problem number 1
and it's sort of forgivable. Unfortunately, 3e has not yet begun to add
insult to injury.
3e gave multiple attacks per round to everyone as part of its new
Base-Attack-Bonus system, so higher level characters could full attack
for more and more attacks per round. Unfortunately, this leads to
problem number 2- actually having weapons on hand to throw. Melee can
swing swords all encounter and archers can draw arrows with no effort at
all, but if you want to throw multiple weapons, you're going to need to
have them at hand because drawing a weapon takes a move action (which
prevents you from making multiple attacks that round) unless you invest
in the ability to Quick Draw.
Even if you do, you encounter problem number 3, wherein you have to make
sure you're doing enough damage. Thrown weapons can add your Strength
bonus to their damage to balance out their low damage dice, but all the
strength in the world won't matter if you can't hit anything because
your accuracy with thrown weapons is based on your Dexterity bonus.
Damage ties into problem number 4, where high level combat in 3e is
dominated by magic weapons, and while a bow will pass its enhancements
on to every arrow you shoot with it, thrown weapons have to be enchanted
individually at great expense.
If you don't enchant your weapons, you run into problem number 5, where
there are a large swath of high-level monsters that have what's known as
Damage Reduction (or DR for short), which basically takes a chunk off
of your damage if you don't have the right weapon. Having a non-magical
weapon in higher level games is a great way to fail against DR. Even
if you enchant all of your thrown weapons, you're still going to run
into DR that requires things like silver, cold iron, adamantine or holy
weapons to bypass, and it's a lot cheaper for an archer to carry around a
handful of odd arrows than someone throwing handaxes or daggers,
especially since the archer doesn't need to individually enchant them.
Of course, even if you have all your contingency weapons nice and ready
and have the Quick Draw necessary to throw all of your weapons, you're
going to run into problem number 6, namely that you have taken a stash
of expensive magical items and thrown them away. What are you
going to do next round? Guess you're going to have to take all those
expensive magic items and pay money to make them returning so they boomerang back to you.
Oh, you did that? Enjoy problem number 7, where returning weapons only
return at the start of your next turn, so you need as many weapons to
throw as you have attacks per round, including your obscure metal
weapons (I hope no one hasted you!). Which leads nicely into problems
numbers 8 and 9, where your expensive returning weapons only return to
the spot you threw it from (here's hoping you didn't take a 5 ft step as
a free action after you attacked), and you can only catch them if you
have a free hand.
Thrown weapons in 3e (and subsequently in Pathfinder) are so incredibly
terrible that I am convinced that one of the design team must have had a
tragic family accident with a rogue boomerang and subsequently swore
vengeance on all flung projectiles.
Either that, or they were designed by someone who really hates Batman.
There are options in some of the various books like Tome of Battle
where you can negate some of the penalties, but in most cases if you
want to shoot things from a distance you'd best pack a bow. If you want
to shoot things from a distance and take advantage of your high
Strength modifier, you'd best pack a composite bow. Oh, and spend two feats to achieve a basic enough level of competency where don't have to worry about accidentally shooting your allies in the face.