Every non-trivial program has an implicit FSM in it somewhere. Yes, the quality of the program is only as good as your analysis of the states and transitions between them, but it turns out that is true for all programs, regardless of whether or not you implement them as an explicit FSM. Explicitly specifying the FSM means you have a better target for analysis when you define missing/bad transitions.