Hibernate é um framework de persistência, assim como o Toplink.
JPA é a nova tecnologia de persistência Java, JPA é uma especificação e não um produto, assim como toda tecnologia Java EE.
Como é uma especificação ele possui varias implementações, duas dessas implementações são Hibernate e Toplink.
Basicamente você tem a mesma API e pode escolher livremente qual implementação usará na sua aplicação, a que melhor te atender, Hibernate, Toplink ou outro qualquer.
Tanto o Hibernate quanto o Toplink já existiam antes do JPA, mas foram adaptados para suportar a nova especificação, e serem padronizados.
Todos funcionam com ou sem um servidor de aplicações, inclusive em aplicações stand alone.