While there are situations when you should definitely use and definitely avoid Dialogflow CX, there is also a lot of middle ground.
For example, what if you are building a large FAQ chatbot, but you also need to handle a few follow up questions? This is usually best handled by ES.
What if there is a group of different tasks the customer wants to do, and after you identify the task (from the first message), the bot will inevitably need to ask a lot of followup questions to complete the task? This is usually best handled by CX.
But the actual answer is subjective.
Here is my suggestion:
1 Build the bot using ES first
2 If/when the bot becomes too hard to update, move it to CX
[I cannot really think of any scenario where you would move in the other direction, but you never know]
This 2 step process will be a lot easier if you use the flowcharting system I recommend in my free Flowchart to (ES) Chatbot course.
If the flowchart becomes too hard to update, it is time for you to move to Dialogflow CX. The big advantage of this approach is that you can build your bot at a low cost and de-risk it. Once your bot gets complex enough, you already know how it works and you will be ready to migrate it to CX.