I’m having trouble finding the differnece between actually joining two objects (ctrl + j) and using the boolean addition modifier to combine two objects. Are there any major differences between the two?
Join just makes the two original objects one. The mesh itself is totally unchanged.
The Boolean modifier combines the two objects changing its geometry depending on the boolean setting.
Well, to start with, there is no “Boolean addition” modifier, and there is no addition mode for the Boolean modifier.
Otherwise, to elaborate a bit on what Richard wrote, join combines two mesh objects (which may consist of one or more meshes) into a single object bearing the name of the object which was active when the operator was applied, without changing the geometry of any of the meshes. In one case, where the Boolean operation is the union between to non-overlapping mesh objects, this might be identical to the results obtained from the Boolean operation.
In all other cases of the Boolean operator, however, the results will differ, because the Boolean operator changes one mesh based upon its location relative to the other, and the Boolean operation performed.
The Union mode for the Boolean modifier is for all purposes the same as any interpretation of Boolean Addition. Just to keep things clear, it works on overlapping objects to produce results with no internal geometry, just as you might expect from a Boolean addition. There is in Blender NO Boolean operation, i.e. the only route to follow to get a Boolean mesh is to use the modifier and then APPLY it.
In addition the Boolean modifier will leave the target mesh intact and in place, often hiding the results and producing some confusion in new users as to whether anything happened at all!
(@Mjolnir, obviously you know everything about this modifier so all this is just FYI to the OP and anyone searching the forum!)