Well.. I'll do the best I can. I never had any written explanation of how to do it, we just had to learn for my digital logic class.
A state machine has a statement inside of it which is executed, and then it has paths leaving it with conditional statements (they lead to the next state machine). If the statement is true, then that path is taken. If not, then you're stuck.
That's it. You can make huge complicated state diagrams with that simple principle. I made an arcade game, dance dance revolution, using state machines. Sometimes the code blocks they executed were discrete logic or VHDL.
The point of a state machine is to create an orderly sequence of events, because with unclocked discrete logic, unexpected events are much more likely to occur.