Creating new keys on every join request

What is the purpose behind creating new keys on every join request?

Did you read the LoRaWAN specifications?

Yes I read… I understand that it is to avoid replay attack. but apart from that is there any other security reasons?