I missed this thread earlier, but would still like to add my take on it.
I think Poison's problems are rooted in three major issues, all related to one overarching issue: that Poison was originally tuned to be an "enemy type".
First, Poison's tactic of using moves that inflict a HP-sapping status is inefficient, if effective. It will take a long time to win battles that way. This is a disadvantage when the player uses it, since the player needs to fight a lot of battles, winning fast is generally better than winning slow, and there are many good ways to win fast in these games. But Poison is deadly when used
against the player, since the lingering effect will remain an obstacle in the gameplay after the battle is finished. So the Poison type's whole shtick is to inflict a status that isn't very helpful in doing what the player needs to do. It's primarily a tool for the game to use against the player, rather than the opposite.
Secondly, a matter
Hugin put his finger on in the Dark-type thread, which very much applies to Poison too:
It's reasonably common for the games to include an early-route derp that's a Dark type, because they want something weak for the evil team to use.
"Early-route derps for the evil team to use" is a still a fitting description for many Poison-types, even if Dark has taken over the role in recent generations. But Poison also remains a common type for the evil team to use. Heck, some of them even serve their role primarily in the wild, like Weedle and Tentacool in RBY. Mooks whose strengths lie in repeat encounters rather than being challenging in each individual battle. Relatively weak 'mons for the game to put in the player's way, provide a chance to inflict poison, and be KO'd right afterwards. Better still if they are, even, because the player shouldn't be hindered *that* much, and mowing down mooks feels good.
This seems to have influenced the design philosophy for Poison-type Pokémon. I've only recently noticed, but the overwhelming majority of Poison-type Pokémon belong to two-stage evolutionary families. They seem to come in a "basic form" for general evil team grunts and wild encounters, and an "advanced form" for evil team admins and the occasional "boss encounter". Disregarding legendaries and sub-legendaries (Ultra Beasts and Paradox Pokémon), there are only two Poison-types that don't evolve at all: Qwilfish-Johtonian and Seviper. The former has a regional form that evolves, the latter has a counterpart in Zangoose.
Likewise, and this is relevant to Poison's prominence for in-game purposes, really few Poison-types evolve twice. We can all agree that three-stage evolution families are just more fun to use in general. Third-stage Pokémon tend to be stronger than second-stage ones. But post Gen I, only four third-stage Poison-types have ever been created: Crobat, Dustox, Roserade, and Scolipede. That's none in four generations at the moment, for those keeping count.
Because, and this is the third issue ... Game Freak went overboard with Poison-types in Gen I, and have been overcorrecting ever since. Of the original 151 Pokémon, 33 are Poison-type. It was the most common type back then, even more ubiquitous than Normal and Water. There were seven three-stage evolution families that were part Poison in Gen I. 13 families overall. It took until Gen VIII for non-Kanto Poison-types to outnumber the Kanto ones. This early abundance, and later reluctance, has given Poison relatively few opportunities to properly shine. There are relatively few new Poison-types released in each generation, and what few exist are generally relegated to being "evil team Grunt fodder".
So in general, Poison is a typing whose primary gimmick isn't very well suited for the player to use, whose Pokémon are often designated to be rather weak, and which doesn't get many new opportunities to create new fan favourites. That's not to say Poison-types are inherently bad, some have even done
very well competitively, but they seem to lack the type of 'mons that can plow through battles quickly and clear a path through in-game runs. Or at least, those are quite rare.