In reply to abasili:
FSM coverage is closer to code coverage than it is functional coverage—necessary but not sufficient. Unless the states are visible through some register interface, an FSM is part of the implementation and functional coverage needs to be sampled though external interfaces.
FSM coverage makes it easier to check that all states have been reached, and formal tools can easily check for deadlocks.
You should also read this article.