Code: Writing a "hide when" formula can often get a bit complicated, especially when working with a number of conditions...
and even more so when you have two fields and you want to show one and hide the other, and vice versa, depending on various conditions. Part of the problem is when you are writing a "hide when" condition but are actually trying to determine when to 'show' a field rather than hide it, because you end up trying to deal with negative logic.
A solution is to write the condition upon which you want the field to show, then put parantheses around it and prefix with ! (logical not).
!(cond1 or cond2 or cond3), will show when cond1 or cond2 or cond3 is true.