Mealy FSM: i) Outputs are a function of inputs and current state
ii) Outputs can change with changes in input, hence asynchronous
iii) Since input changes can cause immediate changes in output, Mealy FSM is prone to glitches (can be avoided if both states and outputs are registered)
Moore FSM: i) Outputs are a function of current state only
ii) Output change occurs synchronously with state change
iii) Outputs change at clock edge, so glitches are avoided