is stable - being around for so many years, it lacks any major problems
dictates the standards in the ORM field
implements the standard (JPA), in addition to dictating it.
has tons of information about it on the Internet. There are many tutorials, common problem solutions, etc
is powerful - you can translate a very complex object model into a relational model.
it has support for any major and medium RDBMS
is easy to work with, once you learn it well
A few points on why (and when) to use ORM:
you work with objects in your system (if your system has been designed well). Even if using JDBC, you will end up making some translation layer, so that you transfer your data to your objects. But my bets are that hibernate is better at translation than any custom-made solution.
it doesn't deprive you of control. You can control things in very small details, and if the API doesn't have some remote feature - execute a native query and you have it.
any medium-sized or bigger system can't afford having one ton of queries (be it at one place or scattered across), if it aims to be maintainable
if performance isn't critical. Hibernate adds performance overhead, which in some cases can't be ignored.