If they are stressed they will eat eggs.
If there are no dither fish they might eat eggs.
If they are a young pair and new to breeding, they usually eat the first few batches of eggs. Then they stop eating the eggs but eat the babies. After a few more batches they stop eating the eggs and babies and you finally have something.
This is caused by the fish farmers removing the eggs from the adults and rearing them artificially. The baby discus (and other cichlids) don't learn from their parents and have to make it up as they go along.
If the pair continue to eat eggs after 5 or 6 batches, they are incompatible and you need to separate them and try them with different partners.