A bitch may kill and eat her pups if she is constantly disturbed or stressed. It's a primeval instinct, whereby a bitch would feel unsafe from predators if disturbed, and decide to move to a new home. She can't take her pups with her, so rather than leave them for predators, shw would eat them herself - not out of any motherly instinct to save them from being a strane animal's dinner, but simply to ingest the protein and energy for her own body, to enable her to recover from the birth, and be able to move and defend herself that much more quickly.
Most domestic bitches would not kill their young, but it is important to let her settle and enjoy the first few weeks with as little interference as possible, so she can bond with her pups and feel safe with them.