Why do fish eat other fish?

Because large fish have to eat whatever they can get.