A condition sits between the trigger and the actions: the trigger fired, but should this actually run?
Build conditions on the record's fields — Priority is High, Client is not empty, Due date is this week. Add several and they narrow together: all must be true.
The usual comparisons — is, is not, is empty, is not empty, greater than, less than, between, one of, not one of — plus relative date operators: today, before today, after today, this week, this month, this year.
A condition of Due date is before today means "overdue" every day, forever. A fixed date means "overdue on 12 March" and is wrong the following morning.
Anything recurring should use a relative operator.
Worth knowing when something fires an hour off, or a day early for a colleague abroad. "Today" is the workspace's today, not each person's. Near midnight, that difference is visible.
When a condition excludes a record, nothing happens and nothing is reported. That is correct behaviour, and it is also the most common reason someone says "my automation didn't run".
If you are debugging, re-read the conditions against the actual record before suspecting anything else. See Test and debug an automation.
Six stacked conditions are hard to reason about and harder to change later. If you need that many, two clearly-named automations usually beat one clever one.
Related: Automation triggers · Automation actions · Filter, sort and group