I am also a former OJB user who moved to Hibernate so here are some of my reasons
1)documentation - Hibernate's documentation is MILES beyond OJB
2)query language - HQL is far more powerfull than any of the query interfaces available in OJB, and much more intuitive
completeness - I have yet to find a feature missing in Hibernate when I needed it
3)Hibernate seemed to be able to work with our model more seamlessly - the only way to get the rich Object handling we wanted at the time from OJB was through the ODMG api, which required some persistence related changes to our objects.. with Hibernate we used truely POJO - the only persistence relevenat item in the objects were an OID field and timestamp field - easily handled as 2 fields on our base class.
4)Collection handling much more transparent
Archetecturally OBJ is very sound.. and the code is quite readable. I found this while chasing and stamping out a few bugs. From what I have seen of Hibernates code it is similar in cleanleness, but my exposer to Hibernates code is a bit lower, as I have had less need to fix bugs or add features ;-)
One thing that OJB seemed to be better at when we switched was more flexability in the way of plug-in pieces (persisters, etc) but Hibernate is quickly gaining, and may even be ahead in some places. It will be ahead for sure when Gavin completes a few more of the "pluggable interface" changes on his list
Hibernate activity level also seems much higher (subjective view, I havent counted mailinglist/forum messages or anything)