JPA é uma especificação.
O Hibernate (EntityManager and Annotations) implementa essa especificação. Portanto você pode usar o JPA usando a implementação do Hibernate. Além do Hibernate, tem a Toplink e a OpenJPA.
É possível usar Hibernate sem ser a especificação JPA (no caso não usa o EntityManager). Ele tem vantagens em relação a especificação JPA (ele é mais completo).
Procure no fórum que esse assunto já foi bem discutido (tem um tópico grande sobre usar JPA ou Hibernate-core).