I put it in my contract that a puppy can come back to me for any reason, at any time. I would much rather have a puppy come back to me and me be able to find it another suitable home than have someone send it to the humane society/pound, or dump it on the street, or just give it to some random person :/ It's also stated in my contract that, upon finding a new home for the dog, any money the dog is sold for, minus $100, will be refunded. Now, that does not guarantee a full purchase price back. An older dog generally is not going to sell for the same price as a young puppy.
A good breeder will take their dogs back. Now, money back is up to each individual breeder. Some may refund, some may not.