The word BABY is for infants still in that real baby stage - being carried everywhere, wrapped up in nappies/diapers, feeding on milk (bottle or breast).
When babies can walk rather than crawl they get to be called TODDLERS. They toddle around, and fall over a lot.
Young children and babies can be called infants.
A child of ten would NOT like to be called an infant. A child of three IS an infant. Where the line is between infant and 'non-infant' is debatable.
CHILD is a general term and could apply to anyone under about 16, I guess. If the child were under 18 months I'd probably call the child an infant or baby. If the child could walk a bit I'd say toddler.
The word KID is the informal version of child. I never use the word kid, as it is simply too informal for me. But that is my choice! I realize the word 'kid' is very popular and most of the population might use the word 'kid' in preference to 'child.'
A KID is also a young goat. It is the proper word for a young goat. So I use the word 'kid' only for goats.
But I am an old dinosaur, roaming the Earth, happy to use formal vocabulary. For most people a kid is a child first, and a young goat second.
I hope this helps. Remember, these are the ways I, personally, use these words. Other people will have a different take on these words. (different take = different point of view/understanding)