What is the purpose of the finite state machine in SNOW? I do not know about SNOW 1.0, but SNOW 2.0 and SNOW 3G have a finite state machine that is used in generating the cipher's keystream output. Why use a finite state machine instead of some kind of filter function?
I read a little more into the 3G Finite State Machine (FSM) here.

I think that it is because the output of the FSM is dependent, not only on the state of the Linear Feedback Shift Register (LFSR), but also on the previous state of the FSM. 

A filter function, such as the one used in the Mifare CRYPTO1 cipher, has an output which is entirely determined by it's input. This means that for a given output bit, there is a countably finite number of LFSR states which could have caused such an output. This type of attack is sometimes called a guess-and-determine attack. i.e. here on A5/1

The 3G FSM has an output which is dependent, not only on the state of the LFSR, but also on the previous state of the FSM. There are still a countably finite number of LFSR and FSM states which could have caused an output but the number of possibilities is combinatorially greater. The FSM was changed in SNOW 3G to include two inputs from the LFSR, rather than one, specifically to harden the cipher against guess-and-determine type attacks.

Unfortunately, quantifying why this was done, or how much better or worse it is than a filter function, is not something which is dealt with well when considering symmetric primitives.