This does not apply if using a “Request Submitted” or “Job Completed” trigger to start the workflow and you creating your conditions based on the trigger.
If you are testing a request or job status, or a value from the request or job forms, you need to have a Request Status Change (Accepted/Rejected) or a Job Status Change (Completed/Cancelled) connector before the Exclusive Branch Connector.
Even if you are testing a user-entered value, you must have the status change connector or the workflow will go straight to the branching and not wait for the user to fill in the form. The test will then work on the default values of the form and the same branch will be taken over and over again and the other branches missed.
The status change connector does not need to be immediately above the branching - it could be further back up the flow. But it must occur before the branching.