I think if we want to retrieve data from two tables based on the condition then join is a better option.Otherwise we can use set operations to simply combine sets of data from different tables.Moreover, queries that contain join take more time that set operations to operate.
If you have other differences please reply.