-The developers get rid of writing complex SQLs and no more need of JDBC APIs for resultset handling.Even less code than JDBC.In fact the OO developers work well when they have to deal with object then writing lousy queries.
-High performance then EJBs(if we go by their industry reputation),which itself a container managed,heavyweight solution.
-Switching to other SQL database requires few changes in Hibernate configuration file and requires least clutter than EJBs.
-EJB itself has modeled itself on Hibernate principle in its latest version i.e. EJB3 because of apparent reasons.