A person can get free puppies or dogs from select shelters, from Craigslist ads or from neighbors who have a pregnant dog and do not want the puppies. However, it is unwise in many cases to take a puppy for free because these dogs can end up costing a person thousands of dollars due to health problems.
Often, the dogs that are listed as "free to a good home" are not house trained and the puppies have lived in poor conditions or have been bred from a less than reputable breeder. For people who are determined to get a dog or puppy for "free," an animal shelter is a great place to start. While only a few shelters give out dogs and puppies for free, most shelters charge a nominal fee that covers many basic costs that the dog or puppy has already accumulated, such as for vaccinations. The fee also gives the shelter the money that it needs to be able to take care of the other animals.
For people who decide that they want to know the entire history of their dog, including its lineage, a breeder is the only option. Breeders do not give puppies away for free; however, a reputable breeder will often be able to provide health guarantees.