Basic reasons for the MME to send Update Location Request (ULR) to the HSS for two reasons :
(1) To update the MME identity in the HSS, so now the HSS will map this IMSI to the new MME identity.
(2) To get the user subscription data from the HSS.
Reference : 3GPP TS 23.401 (sub clause 5.3.2.1) , in points (8) and (11)
Deeper reasons (from the above mentioned 3GPP, in point (8) )
(1) If the MME has changed since the last detach.
(2) If there is no valid subscription context for the UE in the MME.
(3) If the UE provides an IMSI or the UE provides an old GUTI which doesn't refer to a valid context in the MME.
(4) For some network sharing scenario (e.g. GWCN) if the PLMN-ID of the TAI supplied by the eNodeB is different from that of the GUTI in the UE's context