I wrote my first state machines back around 1980-1981 and to me they can make things simpler, certainly reduce code and indent levels.
In his case, he only needs to track what light is on (the 'machine state') to know what to do if the button is pressed.
The "big" lesson for him is learning how to get around using delay() and to work time-based. Another good lesson will be to lose the top-down approach to coding which running on state should do inherently.
Considering that he's not a complete newb to programming, it shouldn't be a real problem.
Hello i am new here but i have done programming and some parallax in highschool