There are some subtle differences worth being aware of.
When a Required Expression element overlaps with a Trigger, then it is the state of the Required Expression before the trigger event itself that is applicable. This allows for state transitions to be dealt with. This is not directly possible with conditional action, because those evaluations happen after the state of whatever has already changed.
For example, Required Expression that mode is Away, and trigger of mode changed: This could be used for a rule that should only run for the specific case of transitioning from Away. At the instant of the mode event that would trigger the rule, if the mode was not Away the Required Expression would be false, and the trigger would not fire.
This same approach is possible with device attribute values as well.
Another significant advantage of Required Expression (when there is not a trigger overlap as just described), is that when the Required Expression becomes false, the triggers of the rule are unsubscribed / unscheduled. The rule will have subscriptions to events or schedules that might change the Required Expression state, but not subscriptions to the triggers. I have some shades that open and close daily between April and August only. So after a specific date in August, that rule is completely quiescent until April, when it will awake from a scheduled job to begin its daily routine.