I somehow get the feeling that you haven't seen a roach army get utterly annihilated by a well-built marauder, zergling, or zealot army.
Look at it this way: Temple zealots are cheaper, have more DPS (WAY more, in the case of beetles), have hardened shields, and have charge. In any situation where roaches do well, zealots simply do better by utterly annihilating everything they touch without the need for silly hit-and-run burrow tactics (which are, again, easily countered by scans or an observer).
Likewise with cracklings, which have the side benefit of a much lower bounty, a doubled spawn rate, and the highest DPS out of every unit in the game.
Keep in mind that Beetles DO have more DPS in melee. I wish I knew how much, but it is fairly significant. Melee is the one thing beetles are good against, as the damage they take is spread out enough that burrow micro is actually possible since it takes a few seconds to die.
You simply can't compare straight up DPS. In any given fight, a unit with 4 range will have 4 rows of units firing while a unit with 1 range has 1 row of units in melee doing damage. That means a large Roach army is effectively outputting 4x as much damage. It also makes melee completely useless in any tight area.
You are right that they get annihilated in a straight up fight against marauders, though.
Frankly, teched marines will do well with any kind of meat shield. That doesn't make the merc good, it makes the marines good. At least, that's the way I see it.
Edit: Yep, teched marines just destroy everything. Doesn't matter what, they just destroy everything. Kind of pointless to upgrade mercs instead when they're so blatantly inferior.
Personally, I have to suggest an attack speed upgrade for mercs so they can keep up with the marines. Right now it's just too one-sided in favor of teched marines (and only teched marines).
Yes, but you will never get teched marines without using some kind of merc, because unteched marines are easily killed. Even once you DO have teched marines, mercs are still useful. Everyone probably knows how much I love marauders by now, but they still make excellent bullet sponges and with stim packs their attack rate is decent enough to actually be worthwhile, while maraiders have AoE attacks which makes them excellent support against teched marines (and brutal against air unit stacks). And their bounty isn't much more then a marine anyway.
Also, keep in mind the marine spawner disable ability in the center. Only costs 200 minerals for 2 mins and there is no better way to get a pure teched marine player to rage xD