I've written about this before, but when my son was 4 he and my husband were walking on the beach and having "guy talk". Jeremy was lecturing our son on being nice to his baby brother, blah blah blah, ending with "because he's the only little brother you're going to have". Joseph was like "Why daddy?" and Jeremy said "Because we're not having any more babies". Joseph stopped walking, looked concerned, and said "Why daddy? You and mommy can't yell anymore?" Jeremy was like ''what?" and Joseph said "You know, 'aaah, oh God?'..." Jeremy said his brain fried and he was just like "Wow buddy look at that sail boat!"
(Later through small talk we learned that he'd learned from a playmate that when moms and dads yell, they're making babies. Thrilled to hear it).
I sat down the next day and asked if he had fun at the beach, did he have a nice talk with dad, dad said you talked a little about babies....do you have any questions for me? "Yes....why, how, WHERE DO BABIES COME FROM?" We put on Curious George to keep our younger son busy, and Joseph came in the kitchen with me. I said "Where do chickens come from? They come from eggs." I cracked open an egg and told him that yellow part, if this egg had been fertilized and stayed warm with the mom chicken, would turn into a chicken. He flipped and said "NO WAY!" and was peering hard into the yolk. I said yeah, IF it was fertilized and stayed warm with the mom chicken (didn't want him getting grossed out, but he thought it was cool). I said that a daddy chicken is called a rooster, and a mommy chicken is called a hen. The rooster fertilizes the egg, the hen lays the egg, keeps it warm and safe, and over time the yellow stuff develops a heart, eyes, little beak, etc and grows into a little yellow chick. When the chick is ready, he starts pecking the egg saying "lemme outta here! lemme outta here!" and it hatches, and there it is. He thought that was awesome, and while a little distracted with eggs (now we were adding onions, cheese, and milk to them and scrambling them to cook) I said "Similar with people. Daddy fertilizes an egg, Mommy keeps the egg, and a baby grows and develops a heart, eyes, a nose, etc and grows everything he needs. When he's ready....." and Joseph interrupted and said "the baby says 'lemme outta here, lemme outta here' and you go to the hospital?" I said "EXACTLY--the baby lets us know he's ready to come out and we go to the hospital and the doctor helps. Remember when we needed to go to the doctor when your brother was born?" He did a little bit, but he wanted to know why I didn't lay eggs. I sat for a second and said "Because God is very smart and very kind, and he lets me keep my eggs inside. Otherwise, I'd have had to sit around on your brother's egg all day keeping it safe and warm, and we wouldn't have had time to go to the zoo and swimming like we always did." He agreed that would be very boring. And that was all.
When we were all eating I thanked him for letting me have such a nice big boy talk with him, that it made me feel very special and important. But that I didn't want him to talk to his friends about this stuff because each parent wants to be able to tell their own kid, in their own way. And if he told a kid first, then the mom wouldn't get to tell them, and they wouldn't get a chance to feel special and important. He said "Yeah---moms need to do their OWN jobs". And that was it. He hasn't asked any more questions since then. If he decides to ask HOW dad fertilizes an egg, or other questions, or if he starts going through some boy changes, we'll start discussing why and what everything's for. But I don't think mechanics need to be explained until like 4th grade, a little before puberty (so they know what's coming and why). That's just my opinion.