Para nós seres humanos a timidez pode ser prejudicial em diversas situações, mas para uma classe a timidez é uma grande aliada e pode facilitar bastante a manutenção de seu aplicativo.
A assinatura de um método público é um contrato formal com todos os possíveis usuários daquela classe. Como todos sabemos romper um contrato é algo custoso. Portanto ao tornar um método público você está consequentemente tornando mais inflexível.
Para um método público, toda vez que você quiser alterar este contrato, seja mudando o nome do método, os parâmetros de entrada ou até deixando de usá-lo, você terá que avaliar as consequências disto para todos os seus potenciais consumidores. Se todo o código que usa aquela classe está confinado em uma mesma solução, talvez baste um grande refactoring de código e documentação. Se o escopo de utilização desta classe estiver fora de seu controle – uma API, por exemplo – talvez você tenha que manter aquele método para todo o sempre, garantindo a famosa e maldita backward compatibility.
Nem todos os métodos de uma classe devem e podem ser chamados outras classes. Muitos deles só dizem respeito à própria classe. Por isto você conhecer os access modifiers e escolhê-los consciência. Desta forma você está protegendo o seu direito de alterar o comportamento interno da classe no futuro.
OBS: Dando os méritos a quem merece, a idéia da timidez da classe foi tirada do excelente artigo do The pragmatic programmers: Keep it DRY, shy and tell the other guy.