Besides having to put hit.gameobject.tag or other.gameobject.tag in an if statement, is there any difference between these two things? Will either work just fine or is it two completely different scripts with there own set function? And if so, would I be able to just make two OnTriggerEnter functions with either collider call?
That depends on the context. I assume you're referring to checking the tag of an object returned by a raycast as opposed to checking the tag of an object in a collision callback; if so, those are indeed two different things (although the 'checking the tag' part is the same).
If there's something in particular you're wondering about, perhaps you could post some example code along with a specific question about that code.
You're using the function OnTriggerEnter. This function requires a variable: what entered the trigger? You're asking this question while calling this function, and giving the 'what' (which will be a collider, therefor the ': Collider' part) a name. You could call it hit, which is logical when raycasting: it's the object your ray hits, or you could call it bumperdibumpididoo which would make sense if you're checking if something hit's your gameObject and you're insane.
So what you're confused about is that hit and other aren't commands, they are names you're giving to a to-be-assigned collider which will enter your trigger.