Obligatory explanation comment for "most of the Dark type Pokemon in the Hoenn Pokedex are really terrible" that I didn't feel like including in the main answer as it's about Cacturne:
Absol is also pretty terrible, most of its stats are bad except for that 130 Attack. The problem? Dark is Special in this generation. It doesn't even get Crunch through level up; the best move you're stuck with is Bite. Swords Dance and Slash early seems tempting but... Just use Zangoose, who is much faster, nearly as strong, and can actually utilize Normal STAB like Crush Claw and Return.
Mightyena is useful early but eventually its stats and movepool fail to keep up with competition. 60 Sp. Atk is pretty terrible for a Dark type too, even though it does learn Crunch early.
Shifty is stuck as Nuzleaf for most of the game and unlike Gloom its stats are terrible and its learnset perhaps even worse. It's most notorious for not learning a single Grass-type attack through level up. By the time you get a Leaf Stone for it, you might as well replace it with an Oddish and start training that into a Vileplume instead.
Sableye has very poor stats across the board, especially in regards to Speed, and its learnset is equally bad, not getting good STAB until Level 29 for Feint Attack. It effectively requires most of the highly contested early TMs like Shock Wave and Dig to hit important targets.
Sharpedo... is actually excellent. Use it in a run and you'll be surprised what it's capable of. Its bulk is terrible but it's fast and strong, and it learns Crunch and Surf effectively for free. I didn't bring it up as a mention in the Cacturne answer because most Emerald runs should have at least one surfer and Sharpedo doesn't need Secret Power as it learns Slash early, so the two actually synergize really well.
Crawdaunt, on the other hand... One of the worst options in the game due to its low speed and worse learnset. It gets Crabhammer early it can't use its 120 Attack for any of its STABs.