Okay, here we go on this explanation. This may be something you already know, so forgive me if this is too basic but I thought I would get into the And() and Or() functions. Without going too in depth or getting to basic, these functions compare two or more Boolean (true or false) statements and return a true or false based on the result.
For And(), if all the compared statements are true, it returns true; otherwise, it returns false.
For Or() if just one of the compared statements is true, it returns true; otherwise, it returns false.
I can go more in-depth on these if you like, but that is the general idea.
For the specific code, I will start with the And() section. The two statements it compares are:
1) if the Other_Txt text is blank and
2) if the Other_Txt label is visible.
To return true, both of these statements must be true (i.e. the text is blank and the label is visible). Otherwise (i.e. if the text is not blank or the label is not visible), it will return false. Since the visibility of the Other_Txt input area is tied to the selection of "Other" in the Reasons_DD drop down, it is that selection that will trigger this statement. If it never becomes visible (i.e. "Other" is not selected), it will return false.
For the Or() section, we use:
1) if the Reasons_DD drop down has nothing selected and
2) the result of the previous And() section.
For this to return true, just one of those needs to be true (i.e. Reasons_DD dropdown has nothing selected or both the Other_Txt text is empty and the Other_Txt label is visible). Otherwise, it will return false.
Now, the result of the Or() statement is what then sets the true or false section of the If() statement. If it is true (meaning that the necessary areas are not selected/filled out), the item is disabled. Otherwise, it will be enabled.
I am typing this on very little sleep so I hope it makes sense. Feel free to comment back if I need to better word things or if it was total gibberish.