Зачем создают третью таблицу для связывания двух?
Потому что один и тот же товар может быть в нескольких заказах, а один и тот же заказ может иметь несколько товаров
В БД 3 типа связей OneToOne, OneToMany, ManyToMany.
Первые два типа связей реализуются путем ссылок внешними ключами с подчиненной таблицы на главную (есть более умные термины, но я их забыл). Тип связи MtoM вы без третьей таблицы не реализуете. Просто сами попробуйте придумать как связать это без третьей таблицы и станет ясно.