The first thing here is to clear up some terminology.
JPA means "Java Persistence API". It is, as the name suggests, just the definition of an API to be used for persistence in Java.
Eclipselink is an implementation of JPA. That is - it is an ORM that conforms to the JPA specifications. It is the reference implementation provided by Oracle and it is the implementation supplied with Glassfish, which is the reference implemenation of a Java EE Application server provided by Oracle.
Hibernate is another JPA provider that has been popular for a long time.
One could debate which one is "better", but they both implement the JPA specifications, so they will both do more than enough for someone starting out using JPA.
Regarding the question about whether it is tied to an environment - it is not tied to a particular application server, it will work in any Java EE application server. It can also be run using Java SE if you don't want to use container managed features.
I suggest reading up on JPA in the Java EE Tutorial: http://docs.oracle.com/javaee/6/tutorial/doc/bnbpy.html