Junction objects are needed to build a many-to-many relationship among Salesforce objects.
For Example : In a typical recruitment scenario, there are possibilities of creating many positions for candidates and at the same time, a candidate can apply for many positions.
The third object required for creating a data model is termed as a junction object and in this example, it can be cited as “job application”. Here, you need to use a lookup field for both position and candidate object on the junction object – which is a job application.