Entendi.
Bom, na minha opinião, depende da quantidade de registros que você vai carregar do banco. Por padrão, para relacionamentos *toMany o hibernate carrega sob demanda(Lazy), ou seja, somente se você usar os objetos da lista. Dependendo com o que você está relacionando, por exemplo, um cliente pode ter 0 ou vários telefones, dificilmente um cliente terá mais de 5 telefones. Para esse cenário, você pode deixar o padrão do hibernate que é carregar sob demanda, mas se for uma lista maior, de pagamentos por exemplo, você dizer por hibernate assim que carregar o cliente, carregar seus pagamentos também, esse é o Eager. Com uma consulta só você carrega o cliente e seus pagamentos. É menos custoso que ficar dando um select para cada pagamento, como o lazy faz. Isso se você tiver certeza que sempre que carregar o cliente você irá usar a sua lista de pagamentos, senão é desperdício de recurso.
Mas como eu disse no começo, isso é somente a minha opinião.
Nesse livro tem dicas interessantes sobre isso e outras otimizações relacionadas ao hibernate: http://www.casadocodigo.com.br/products/livro-jsf-jpa , vale a pena dar uma lida.
Abraço