I'm sorta bored, so want to chime in. Hopefully I'm helpful and not just confusing. And hopefully I don't say anything that is incorrect!
Here is my explanation of the difference...
A lot of times you can use triggers or rules... just one is more efficient than the other.
You create a trigger of "If the door opens then turn on the light." This will only happen when the event of the door opening occurs.
It will have the same result as a rule that says:
If the door is open then turn on the light (as a truth action). This rule will be evaluated anytime the door state changes - open or closed. The action of true will only happen once upon the door first being open (rule goes to true), unless the rule state changes to false (door closed), then back to true (door open), in which case the action will reoccur.
So the trigger is the better rule due to its simplicity.
But if you wanted the light to go off when the door closes, you would need to create a second trigger for the door closing... or alternatively you could just put in a false action on the existing rule. So in this case, the rule is more efficient as you only need 1 versus 2.
But now you have 5 doors, and anytime one of them opens you want to toggle the light, and you want this to happen whether or not the other doors are closed. With a single trigger you could put all 5 doors as trigger events to toggle the light. Every time a door opens, it would trigger the action to toggle the light. Door open, light toggles. Without closing that door open a second door, light toggles again. Etc. Only need one trigger.
Creating a single rule for this wouldn't be possible because it only will toggle the light on truth change, which would occur on the first door opening. So a door opens, it goes to true, toggles the light. A second door opens without the first door having been closed... the rule is still true so it does nothing... no truth change no action. So you would need 5 separate rules to create the same thing that the single trigger did.
A triggered rule would be: When button 1 is pressed, evaluate whether the light is on, if it is on send me a text message saying "light is on", if it is off send me a text message of "light is off". This way, the light changing on and off doesn't cause a text to be sent, the text is only sent when the button is pressed and after the button is pressed the rule would decide which text message is sent.
They are all quite similar, and sometimes can be interchanged. But not always...