En palabras de Layman:
La misma razón por la que los fabricantes de electrodomésticos construyeron sus productos con enchufes eléctricos en lugar de simplemente cables pelados, y las casas vienen con enchufes de pared en lugar de cables desprendibles que sobresalen de la pared.
Al utilizar enchufes estándar en su lugar, permiten enchufar los mismos aparatos en cualquier enchufe compatible de la casa.
Desde el punto de vista de la toma de corriente, no importa si conecta un televisor o un estéreo.
Eso hace que tanto el dispositivo como el enchufe sean más útiles.
Tomemos, por ejemplo, un método que acepte un Mapa como argumento.
El método funcionará independientemente de que le pase un HashMap o un LinkedHashMap, siempre que sea una subclase de Map.
Ese es el principio de sustitución de Liskov .
En el código de muestra que proporcionó, significa que más tarde, por alguna razón, puede cambiar la implementación concreta de Hash y no necesitará cambiar el resto del código.
El problema con el software es que, dado que es relativamente fácil cambiar las cosas más tarde sin desperdicio de ladrillos o mortero, la gente asume que ese tipo de previsión no vale la pena. Pero la realidad nos ha demostrado que el mantenimiento del software es muy costoso.