You know what doesn't make a great gift? A puppy.
A dog is a joy to be sure, but it is also a responsibility, a creature that will depend on you for everything for the rest of its life. And you owe it to the dog to be certain its owner is going to be able to provide for it. If you've already come to the conclusion that your family is ready for a dog, and now is a great time to get one, that's fantastic. Adopt a dog. Give that dog the gift of life.
But I have serious issues with a dog being a gift, particularly for children. It's not a commodity; it's a life. And tying a bow around its neck and bringing it out Christmas morning doesn't help children learn the importance and fragility of that life. But taking a child to a shelter, explaining how and why the pets end up there, and what can happen to them if they don't find homes--that might not be as fun as a wriggling puppy Christmas morning, but it will have more resonance.
(True: You still have time to request your Possum Pinups calendar!)