Web development, embedded systems, and game dev. I use FSMs, pushdown automata, and hierarchical state machines all the time.
The vast majority of companies essentially code and design to the lowest common denominator so that their devs are fungible cogs.
Code doesn't have fixed timing requirements, most of the time.
Personally I have also found basic graph theory to be immensely useful for representing and reasoning about things.
I agree! The graph theory portion of my algorithms class (more than half of the class) was the third most useful thing I learned in my degree.