"best weapon" is relative. If your worried about sieges, I'd recommend axes. Bc when a gob loses a limb, they lose a bit of the will to fight. Iron is perfectly adequate for any weapon. Steel is noticeably better, but I wouldn't recommend letting your militia go unarmed while you figure out how to make it. Though if you can, steel armor is probably the best way to ensure your soldiers see lots of dead gobs.
I'd say you should build the weapon that seems the most fun at the time.
I prefer to avoid axes bc otherwise the refuse stockpile fills up with hands and legs way to fast. AFAIK maces and hammers are mostly identical unless your anal about statically studying each fight. Head shots are almost always 1 hit kills (unless they are unskilled) but any other hit will more likely disable (at best) than kill.
Spears penetrate "all the way through" (as in if it hits, it often does max damage to organs) which is great for Head shots and sometimes a lung shot will disable an enemy well enough to forget about him until he bleeds out, but its mostly wasted on limb shots.
Swords seem to get lots of severed arteries (quick bleed out) severed tendons and ligaments (disables the limb) and can stab (to damage organs) so I guess you could call it versatile, but it might be lacking depth on large creatures.
I wouldn't worry about steel weapons too much unless you have time and resources to kill. bc iron is great against anything the gobs can throw at you.
Also, dwarves can dual wield. It wont give you extra attacks (either or, not both at once) but it can give you versatility. xbow / hammer dwarves anyone?
(remember to build fortifications, to avoid exposing them directly to the danger).
This needs more science. In my experience, fortifications do nothing to prevent bolts from going or coming. They only seem to be useful for impeding movement without impeding archery. (as in, to keep your archers from dodging off walls)