Duvida JPA anotação @joinTable

Galera estou com uma duvida referente a utilização da anotação @JoinTable.

O porque de usarmos a anotação @JoinTable, quando temos um relacionamento um para muitos unidirecional ou bidirecional?

Bom sei que as tabelas não vão ter um vinculo diretamente, mais isso seria utilizado para dar uma melhor performasse?

Ou um exemplo de cliente e telefone, um cliente tem vários telefones, nesse caso teria uma chave estrangeira na tabela de telefone referenciando a tabela cliente,
mas eu também tenho uma tabela de fornecedor que tem telefone e também teria uma chave estrangeira na tabela de telefone referenciando a tabela fornecedor.

Para esse caso eu criaria as tabelas de junção para que possa saber quais telefones são dos cliente e quais são dos fornecedores, assim mantendo uma unica tabelas
de telefone?

Obrigado.

Eu uso @joinTable quando tenho uma tabela que une outras duas e quero personalizar o nome dessa tabela de junção ou os nomes dos seus atributos.

Qd vc tem um ManyToMany, por exemplo, vc tem uma tabela q une outras duas.
Se vc precisa especificar o nome dessa tabela de união e/ou o nome dos seus atributos vc usa o JoinTable.

Sinceramente não sei se existe outra função pra ela.