innate behaviour.
all fish eat their babies for a reason. it isn't always because of things like "stress" or jsut because they are crap parents, lol....
it all depends on if you believe in darwin's theory of survival of the fittest. the parents will keep killing all batches until that one batch that is strong survives. it could be that after a few batches they are more confident, experienced (??? who knows what actually goes on in a fish's head lol)...
then out of the kids that do survive, only the fittest, strongest will survive to maturity - thus ensuring a strong gene pool for the next generation.
I let my rams kill off the fist few batches, and then they took care of the 1 batch that they deemed "fit". those babies grew up and were absolute stunners. I usually let fish act like they would in the wild.
Now if you were breeding some sort of endangered fish.... lol... keep all the babies.
oh also ive found that fry brought up by their parents made better parents as well (this isn't just me talking lol - there is a whole biology paper that blabs on about all of this lol)... haha