There are several ‘primary’ use case:
1: Designing a solution
2: Reverse-engineering the solution from a poorly documented code base - all too common in my 25 years of coding.
3: Communication of concepts, rules, ideas to devs, testers, dev team management
4: Importantly keeping the evolving codebase and the design ‘close-coupled’, with EA that is easy. Code evolves and sometimes the design often changes a lot - how often do devs avoid the design because it’s just way outdated?? It should be the first port of call in a bug fix - not the last.
High/Low-level Design, Test case identification. Mindmapping, functional requirements elicitation, use case elicitation, test cases, activity diagrams. I am a contract developer/designer, for me, it’s vital to get up to speed quickly with new and complex systems. I have often used my own EA license to get a handle on the real model - for me, that's been vital.