Bom dia Otávio!
A ideia de tudo isso é de tornar nosso código mais "pythonico".
Na verdade não estamos "repetindo o método". O que fazemos na verdade é o seguinte. Estamos dizendo que esse é um comportamento que pertence a todas as filhas. Só que cada classe filha possui atributos específicos correto? Então as classes filhas herdam esse comportamento de imprimir, mas o sobrescrevem com suas especificações.
É tudo uma questão de organização, pra que a gente olhe para o código, e entenda o que esta acontecendo.
Outra razão pra tudo isso é reduzir as condições(ifs) criados fora das classes. É questão de organização deixar o que pertence a classe dentro da classe.
A gente não ta escrevendo de novo, só sobrescrevendo. Assim quem nunca viu o código vai saiber que todas as classes filhas de programa sabem imprimir.
Mas se quiser fazer da outra maneira também funciona, ai é questão de gosto. =)
Fez sentido? Espero sua resposta.