Links and Joins have following differences
Joins: Joins are configured between a Business Component and a table.
Links: Links are configured between 2 Business Components. They represent Parent Child relationship Cardinality:
Joins: Joins have 1:1 & M:1 cardinality.
Links: Links have 1:M & M:M cardinality.
Joins: Joins are configured as child properties of a BC.
Links: Links are created through Link Object in Siebel tools and they are referenced in Business Objects and Multivalue Links (MVL) to establish parent child relationship.
Joins: A Service Request can only have a single owner. So a Join is created in the Service Request BC to pull the owner information from the S_USER.
Links: An Account can have multiple Addresses. A link between BC: Account & BC: Business Address reflects this 1:M relationship.