What are differences/advantages of Invite vs. Referral modules?
Invite module is more popular and is a more active project. The last commit was 4 weeks ago, while User Referral git repository has been inactive for more than 1 year. Considering that the last version of User Referral is still in beta, I would check Invite first.

Back in 2007, there was an idea of merging the two into Invite, but apparently did not happen.

You can see some differences between them discussed in the previous link. Some of them are:


Invite sends a coded registration link by e-mail whereas User Referral displays it.
Referral's tracking uses a session variable to store referral information. Invite's tracking code is lost if the user moves away from the registration page.
Invite codes are always unique and can be used only once.
Invite codes have an expiry date.
User Referral display a referral link (such as referral/123) in the user's page.


They also seem to provide integrations with different modules.