The exact technical definition of these words depends on the sub-area of science or computation that is using them (some may not have clear, technical definitions for all these words).
Concatenate refers to the very specific operation of appending things in order, specifically abstract things. Words and ideas can be concatenated, but things in the real world are usually not said to be concatenated. Merge usually implies mixing; if two companies, two ideas, or two galaxies are merged, they are implied to form one new entity in which the previous two are not distinguishable as wholes. It is more vague than concatenate.
Join can mean many things and it often depends on the context. If two organizations are joined, they may remain two organizations but under a larger name or cause or goal. It means something connecting two or more entities but those entities are still distinguishable.