If a Pokemon was to have two completely different parents such as: (A) A Tysplosion and (B) an Ampharos, the only reason one would come out not as a mix of the two parents but the product of just one of parents is because while breeding between two different kinds of Pokemon is possible, Pokemon cannot completely pass their genes. While Things like IV’s and Egg Moves can be passed, others, such as appearance, cannot pass. Only one of the Pokemon can completely pass their genes, normally the mother.
However, this is because their souls aren’t built to carry genes from different types of Pokemon, unlike humans and regular animals. However, because of things such as soul mutation, if a certain being stays around another kind of being long enough, it’s soul will morph closer to the other being’s soul while retaining it’s soul’s original properties and plane of existence.
This is why Ditto exist. The original Ditto was actually an Lucario that had an bond so insanely powerful bond with it’s trainer and other companions that it’s soul morphed it’s physical and spiritual properties to clone and improve any stats of any Human or Pokemon. There’s also a myth that says that same Lucario was the first Pokemon to Mega Evolve at the Tower of Mastery. This would explain it’s extreme bond.
Because Ditto can change into any being, it can mate with any Pokemon , animal, human or otherwise. However, because they do not have a set form when they mate, the spawn will always resemble the non-Ditto Pokemon.