A condition node is where your graph makes a decision. It checks something about a record and sends the flow one way if it’s true, another way if it’s not.
A condition tests a value – is this column equal to something, greater than a number, non-empty? – and produces an outcome. That’s what its two outcome sockets are for:
Wire each path to what should happen in that case: show a block on success, substitute a default on fail, apply one style or another. Under the hood those success and fail sockets carry data – it’s the same content flowing – but they’re drawn separately so you can branch clearly.
Conditions are how "put this value here" becomes "put this value here, but only when…".
Plenty of decisions have more than two answers – a category that could be any of several, a status with multiple states. For those, a single success/fail split isn’t enough, and you reach for a dynamic condition.
Handle decisions with more than two outcomes: Dynamic Conditions