Debug tells you which elements executed and which values they produced. Read the entry conditions and branch connectors before assuming that an update action is broken. A flow that correctly skips a nonmatching record can finish without changing anything. That is a useful test result.
Use rollback when you want evidence without retaining record changes. Then distinguish the debugged definition from the version activated for future events. Test the same path as the intended user where permissions and execution context matter. A single successful record doesn't exercise an empty result, a rejected input, or the opposite decision branch. Keep the trace alongside the business outcome so you can explain why a record changed or remained untouched.