I don't know if I still have that test map, but here's how it worked if I remember correctly.
Normally, you trigger entities directly by using their name as the target of a trigger or button or something:
trigger
--(toggle)--> target entity
To turn an entity off, you trigger a trigger_relay instead, and use that trigger_relay to send an 'off' signal (trigger state) to the final target:
trigger
--(toggle)--> trigger_relay ('off')
--(off)--> target entity
Not all entities can handle 'off' signals however - some entities are always toggled, regardless of what signal they receive. For those, you could put a button_target in-between. If you send an 'off' signal to a button_target that is on, then it will trigger its target and turn itself off. If you send an 'off' signal to it while it's already off, then it will not trigger its target:
trigger
--(toggle)--> trigger_relay ('off')
--(off)--> button_target
--(toggle, if button_target changed state)--> target entity
So the idea is to use a button_target to 'remember' the state of the final target. It's not perfect: you have to make sure that the button_target always has the same state as the final target. That can be tricky, for example with func_doors, which ignore triggers while they're still moving (for example, your button_target receives an off signal, toggles the func_door to close it, and turns itself off, but the func_door was still moving to its open position, so it ignored the toggle, and thus ends up being open, not closed), so in some cases even more elaborate setups may be needed.
Either way, I suppose this technique could be useful in some cases.