A trigger is an instantaneous event that your device can detect to make a macro run. A macro must have at least one trigger to be valid.
For a trigger to fire, the macro must be available (i.e. ready to run, not disabled) at the exact time the event occurs. Otherwise, it is generally possible to check the state of a component or event (such as Battery level, Notification content, WiFi connection...) testing appropriate Magic Text value.
It is possible to add multiple triggers to a single macro and in this case any single trigger firing will cause the macro to be invoked. It is not possible to combine triggers with AND logic because in MacroDroid a trigger is an instantaneous event, so it is not possible (or highly improbable) to get a state where two instantaneous events happen at exactly the same time.
As an alternative to combining triggers with an AND statement it is generally possible to add constraint logic to individual triggers such that they can be limited to run when only some other state is also true.