The resource-ref connects your webapp to the Tomcat connection pooler. It establishes the JNDI name of the datasource object (java:/comp/env/jdbc/mt\yDataSource).
However, if you use a brute-force JPA implementation, it will create its own connection manager within the webapp, so this object will not be referenced.
That's not entirely a good idea, since it's often desirable to manage resources at the server level, but there's nothing otherwise wrong with it.
Myself, I'm using Spring to manage JPA and I have Spring configured to get the persistence parameters from the JNDI definition, but it's a bit more complicated that way. On the other hand, because I'm using the external pool, I can switch from test to production databases without changing persistence.xml, web.xml, recompiling any classes or rebuilding the WAR. I manage everything from the external Tomcat definitions for the test/production server.
Sometimes the only way things ever got fixed is because people became uncomfortable.