It is hard to talk about poison as a mechanic in games because its implementation is so varied. Generally though it acts as a damage over time (DOT) where small amounts of damage are taken over long periods of time. Each instance of damage is so tiny that it doesn't feel threatening, until you look back 30 seconds later and realize half your health is gone.
Poison forces the player to have to do something. Once poisoned you have to either cure yourself with an antidote (assuming you won’t immediately get poisoned again), or get more aggressive and kill whatever poisoned you so you can get somewhere safe and wait out the effect. Poison makes it so that you can't just sit back and try to learn enemy attack patterns because you are constantly taking damage. Time is not on your side when you’re poisoned and you have to do something.
The first problem with implementing poison in a game like Enter the Gungeon (EtG) is the health bar. In EtG you have a small amount of discrete health. You can only take 4-6 hits at the start of the game before dying, and all sources of damage only deal 1 damage. This is a problem for poison because it wants to do a small amount of damage over a long period of time but with this health system we can only hurt the player in increments of 1.
If the health system doesn't provide the granularity we need to implement a poison mechanic then we will have to add that granularity outside of the health system. EtG does this by adding a meter that measures how poisoned you are, which when filled causes you to take damage. This results in a damage threat that is very small yet if ignored long enough results in a surprising about of damage. That is the threat we want out of a poison mechanic.
The other big change made to put poison in EtG is how you get poisoned. It can’t be a status effect you are afflicted with and then you have to cure it like in Pokemon because EtG doesn't have the kind of item management that a more typical RPG might have to allow for such a solution to being poisoned. In EtG poison isn’t something you put on the player, it is something you put on the ground. Enemy attacks will cover the map in pools of poisonous goop/clouds. When you stand in a poison goop the poison meter fills and once filled, damages you.
This model of poison isn't an resource management problem the way it is in a lot of RPGs but is instead a positioning problem. You have to avoid the poison in the same way that you have to avoid enemy bullets. The cost of standing in it for a moment or two is very little but you must avoid standing in it for long periods of time. This means that you can make poison attacks take up more screen space in order to force the player to move in ways they might not want to. Try turning the screen into a checkerboard of poison and watch the player try to avoid bullets while trying to not spend to much time in the goop.
This form of poison is very different but it does successfully accomplish the goal of poison in games, it forces the player to act by being a low threat problem that will eventually kill the player given enough time. Dropping a poison field around the player forces them to have to do things and do them fast.
This system isn't just good for games with discrete health models, games with a more continuous health model like Bloodbourne also benefit greatly from its use. Specifically it allows Bloodbourne to have more interesting ways to incorporate poison resistance.
If we make poison resist just reduce the amount of damage taken from poison then why would the player want to invest in that stat? Getting poisoned still can only be cured by taking an antidote, right? Even if investing in poison resist means you take less damage until you cure yourself it is still going to be a better investment to get stats that will allow you to get enough breathing room to apply the antidote faster. You still get poisoned just as much, it is still just as annoying and costly, you are still going to need to deal with it in the same ways.
If there is a poison meter that builds up though then we can make poison resist increase the size of that meter, which is what Bloodbourne does. This means that it takes longer to get poisoned. Now poison resist doesn't directly decrease poison damage but rather makes it harder to get poisoned. Which is a crazy valuable stat. In the end you take less damage from poison because you get poisoned less and save money on antidotes, and poison is generally less annoying to you. The player gets to be more aggressive around poison by investing in poison resist, yet they can't ever ignore it.
This system isn't perfect. It is much more complicated and so requires more explanation and is less intuitive to players. Even so it is a great way to preserve the core purpose of poison while expanding the range of games poison can be used in while taking care of some of the more problematic aspects of poison.