Code
List<Animal> animals = new ArrayList<>();
animals.add(dog);
animals.add(cat);
animals.add(lion);
Given something like the above you could sort all animals by weight, number of legs, whether they have legs, things like that. You couldn't do any of that if you just had a list of dogs.
You can write more generic methods which work more broadly like this:
Code
boolean isBipedal(Animal animal) {
return animal.getNumberOfLegs() == 2;
}