I believe ejb-ref is actually not a jboss or weblogic thing - it's part of the EJB spec.
I think the idea is it allows your applications to be portable.
By avoiding hard-coded JNDI references, if the actually locations change after build but before deploy, then you're application deployer can just change the ejb-ref entry in the deployment descriptor and your app. still works.
Or something like that...
I don't believe they're compulsory though - you can use hardcoded JNDI lookups if you want.