To put it simply, Concat adds new rows to the table, while Join adds new columns.
An example of a join would be adding lookup information, such as adding in a customer name to a source that contains the customer ID.
Hope that helps
(These are simple examples. Strictly speaking, outer joins can result in more rows and joins can also cause a source row to be replicated if the join condition is not unique).