Pense no mesmo princípio de encapsulamento de uma classe (com métodos, propriedades e campos privados).
Quando você tem um projeto de 2 ou 3 classes você não nota muita diferença, mas quando você começa a trabalhar em projetos maiores com divisões de camadas (pense em dlls separadas), começa a fazer mais sentido. Uma classe que tem uma função interna dentro
de uma dll, por exemplo, não fica exposta para outros projetos que a consumam. Logo essa classe pode mudar sem que você tenha problemas em quebrar código de outros lugares.
Lembre também que você pode escrever um código agora e ter que mantê-lo por anos. Daqui a algum tempo quando você precisar fazer alguma alteração, quanto mais clara for a separação do que é público e do que é privado, menor o risco que você quebrar alguma
coisa ou usar alguma classe de maneira como você não previu. Pense que você de hoje e o você de daqui a 6 meses são dois programadores diferentes.