Concatenation and Join are there for two totally different purpose.
Concatenation is primarily used where we are getting same set of data from two different sources. for example one part of your data is coming from 1 table and another part of your data is coming from another table. So, you concatenate second table to 1st table and make 1 table from these 2 tables. It primary function is to add rows.
Join is primarily used when based on any key you want to add more fields to your table.for example you have a key field in your table and to get description you join description table to your 1st table to get description in 1st table.
The difference needs to be understood here is that concatenation does not do any search and just append the rows. while join will work on the base of search, it will search for the matching key values.
for example we have 2 tables
F1 F2 11 12 12 13 13 14
F1 F2 F3 11 12 13 12 13 14 25 25 56
If we use concatenation then resulting table will be
F1 F2 F3 11 12 12 13 13 14 11 12 13 12 13 14 25 25 56
But if we do a join (suppose a full outer join) it will be like this.
F1 F2 F3 11 12 13 12 13 14 13 14 25 25 56
other joins in qlikview are inner join, left join, right join.
So, as you see both of them are having a different result and are used in different scenrios.