Evolved Mobility Management (EMM) module supports many procedures such as attach, detach, TAU procedures etc.
When any EMM procedure executes between UE and MME, various messages are exchanged. For example: there are main states such as EMM-NULL, EMM-REGISTERED-INITIATED, EMM-REGISTERED, EMM-DEREGISTERD-INITIATED and EMM-DEREGISTERED.
After moving from EMM-NULL to EMM-REGISTERED state, UE can move to any sub-state of EMM-REGISTERED main state.
For example: UE has registered to the LTE network but somehow it is moved to a location where there is no cell. In this case, UE's EMM state will be changed from EMM-REGISTERED main state to EMM-REGISTERED.NO-CELL-AVAILABLE substate of EMM-REGISTERED state. I mean to say UE is still in REGISTERED state but it is moved to sub-state of EMM-REGISTERED state. Here, the difference between these two states is that in the first case UE can communicate to network through eNodeB at any point of time since a cell is available while in the other case, though UE is registered with network at NAS level but it can not communicate right way since there is no radio cell.
I just gave one example here. Actually there are many EMM states which has many sub-state and UE moves to these state because of different reason.