Situational. SetDeferred defers the property change/assignment to the next idle frame that comes up. I.e. the next frame on which the respective node isn't "busy" if you will(I'm over simplifying).
Think about a situation where you are just creating and instancing a node for an example, since it's just being created and instanced it might not yet be ready for it's properties to be changed perhaps, so you defer the property change to the next idle frame of processing that comes up.