Hola Juan Manuel,
STRUTS es un framework que ayuda a la implementación del patron de diseño MVC. En este patron de diseño se incluye la forma en que desarrollaras la parte visual de tu aplicacion, la forma en que esta interactua con una capa de logica y a su vez como esta trabaja con la capa de datos.
Bueno, si es cierto que STRUTS maneja un tipo de acceso a la capa de datos, es simplemente eso un acceso simple a la capa de datos. Lo cual puede ser suplido simplemente con un JDBC. En cambio HIBERNATE es un complejo sistema que se basa específicamente en la capa de datos. El manejo que le da STRUST a la base de datos es solo de acceso. HIBERNATE es un motor de persistencia que se conecta a la base de datos.
Espero que te haya servido lo que trate de explicar. :P