Finite state machines will never not be useful for the same reason regular expressions will always be useful. They're a supremely simple model of computation, making them easy to reason about.
The problem with state machines in Java is not the state machine's fault, it's Java's fault.