[V + 完 ] simply means to end, to complete or to finish an action
[V + 好 ] means to accomplish an action, that imply the action itself is an requirement,
Example :
'Finish (complete) eating then launch the attack'- '吃完了飯便出擊'
It simply describes the time line -- first, finish eating, then launch the attack
~
'Finish (accomplish) eating then launch the attack' - '吃好了飯便出擊'
Since the soldiers need strength to fight, 吃飯 would be an order (requirement) that needs to be accomplished,
You can say 吃完飯再看電視 (finish eating, then watch tv.) but you cannot say 吃好飯再看電視 (accomplish eating, then watch tv.) if 'finishing eating' is not a requirement for watching TV.
[V + 好 ] can also means [V + adequately]
Example:
做完準備 (finish the preparation)
做好準備 (adequately do the preparation/ accomplish the preparation)'
磨完刀 (finish sharpen the knife)
磨好刀 (adequately sharpen the knife / accomplish sharpen the knife)