It depends!
There are plenty of cases where this is a valid action!
The basic concept might be...
Earlier in the scan, based on what I knew, I didn't think I needed this ON but now, at this point in the scan, after looking at other conditions, I see that I do need it ON!
The classic example is to look at this using "REVERSE-LOGIC".
A sub-routine is called. Something is turned ON in the sub-routine.
The sub-routine is done and can not turn the output OFF. The output stays ON.
Later, outside of the sub-routine, Ladder sees the output to be ON and that it is not needed. Ladder uses SET to tell the output to turn OFF!
I've always been amazed at the number of people that think SET is "permanent" until RESET. Or that once something is turned ON in a sub-routine it can't be turned off by anything except the sub-routine.
That just ain't so.
SET is a ONE-TIME flick-ON-of-the-output. Likewise, RESET is a ONE-TIME flick-OFF-of-the-output.
It takes "CAUSE" to make an "EFFECT".
If a sub-routine turned something ON, then the sub-routine is done, then Ladder turns it OFF, the output stays OFF until something turns it back ON!
geeez, I love MGD! Hi, Ron... How ya doin'?