Como se usa polimorfismo em vez de exemplo de? (E porque?)

Se pegarmos o código abaixo:

Shape p1 = new Square();
Square c1;
if(p1 instanceof Square) {
  c1 = (Square) p1;
}

O que significa preferir o polimorfismo aoinstanceofe, aliás, por que é melhor?

Editar: Eu entendo o que é polimorfismo; o que eu sinto falta é como se usaria em vez deinstanceof.

questionAnswers(7)

yourAnswerToTheQuestion