I've been wondering this question for quite a while now. Actually, ever since the G/S/C days when this all started.
But I think Nintendo better fix some things because if they don't want people hating Pokémon for being satanic or whatever bullshit the church believes about it, they should really fix this.
Why do Pokémon such as Bidoof and Eevee lay eggs? We all learn early on in our schooling careers that mammals give birth and reptiles/some fish/birds lay eggs. So it makes me wonder, are there mammals and reptiles and birds in the Pokémon world? If there are, then why do mammals like Eevee's lay eggs instead of giving birth.