1) The bot initiates the conversation and your initial message gets sent directly to an agent. This is the older model that's in most common use today.
2) The bot initiates contact and based on your responses does some simple keyword matching and delivers help article links where possible or asks for more information IVR style, then when it hits an "I don't know" point or if the agent option is selected, offloads to an agent.
3) This is my favorite style, honestly: The bot initiates the interaction, and does some machine learning backed AI chat, all the while the interaction is monitored by an agent who can take over at any time. Similar to #2, if the bot hits a sticking point, it'll just queue to an agent. This unfortunately is the least common of the implementations.
4) This is the most modern and is becoming the industry leader: Fully AI bot trained against a veritable Everest of chat conversations for that entity/industry, only offloads to a human when you shout "HUMAN" at it enough times or if it gets really stuck and confidence intervals start falling rapidly.
NOTE/DISCLAIMER: I design and implement these systems for a living, and we don't often get much say in the customer-side UX, so I'm sorry if you've gotten stuck with an arguably bad build!
(Edit: formatting)