1)Supporting multiple databases
JPA is also database agnostic but the mappings are standardized, not proprietary.
2)Lightweight O/R mapping framework (Hibernate)
JPA is more lightweight than Hibernate or any other vendor impl.
3)No EJB container is required for Hibernate, which can run on any servlet container. EJB can't be deployed on servlet container.
JPA can be deployed in a servlet container, an EJB container, and outside any
Java EE container at all (i.e. it can run just sitting in a Java SE runtime). When it does run inside a Java EE Container, though, the level of integration that you get with the Container surpasses what Hibernate or any other ORM framework can offer, and does so in a completely portable manner.
Remember, JPA is a specification, or API, not an implementation. Programming to a spec is always going to give you more portability. The weight of the implementation depends upon the provider that you use underneath.
-Mike