JPA and Hibernate make it easy to persist an entity or to load one by id. But for most projects, that's not enough.
You need to dynamically create complex queries at runtime, map inheritance hierarchies to database tables, persist new Java 8 classes, manage concurrency and sometimes you even need to support multiple tenants.
Hibernate and JPA are easy to use. But the problem starts as soon as you build an enterprise application. The number of users increases and you face challenging performance requirements.
But that doesn't have to be the case.
Hibernate can easily handle the load and performance requirements of enterprise applications. You just have to know how and when to use some of the advanced features.