Bare 結果補語 reports an outcome with the object in normal place (我洗好了菜). 把 fronts the object first and the result must land on that object. Here the result complement is no longer optional; it is what licenses 把.
把 is active disposal: the actor lands the object in its new state. 被 is passive: the object gets put there by someone else. Same finished state, flipped spotlight.
把 with a bare verb: 他把菜洗了 → 他把菜洗好了
indefinite object: 他把一些菜洗好了 → 他把那些菜洗好了
result detached from the verb: 他把菜好洗了 → 他把菜洗好了
English packs result into one verb ('he washed the vegetables'); learners drop the separate result word and leave 把 with a bare verb.