To understand more on ejb-link, let's take a look at this simple scenario.
Let's say you have 2 session beans: A and B.
Bean A needs to do a lookup for bean B. Since you don't know what JDNI name for bean B, you can use the <ejb-name> from <ejb-ref> to do the lookup. The <ejb-link> is used to tell that it's actually referring to SessionB.
Inside your bean A, you will have a code like this: Object o = ctx.lookup("java:comp/env/ejb/SessionB);
The deployer can map the actual JNDI name for session B to a completely different name. If you use Sun Java System Application Server, it's defined in sun-ejb.xml.
SCJP 5.0, SCWCD 1.4, SCBCD 1.3, SCDJWS 1.4