Poison is contextual and can be an artificial or natural material — different materials can be poisons to different organisms in different doses and/or when misused. Further, poison usually denotes potential lethality.
Venom is a material created and used by an organism to aid in defense and/or hunting. Venoms are not necessarily fatal — many stun, sting, or disable. Venom is venom regardless of context, and can also be poison in some contexts.
Both words are used heavily in metaphor. Poison is often used to describe something that corrupts, destroys, or has the potential to do so, usually over time — an eventuality. Venom is often used to describe harsh speech or hurtful aggressiveness.