Because any time you have an operation that has a Null operand, the result is Null :)
Use Nz() to escape the Null:
UPDATE [Updating WOW] SET Availability = [Session 1 - Day]+
IIf([S1 - Morning]," Morning","")+
IIf([S1 - Afternoon]," Afternoon","")+
IIf([S1 - Evening]," Evening"," ") +
Nz([S1 - Details], "");