I think for the most part it is ignorance. People who buy puppies from puppy mills and pet shops (where the puppy more than likely came from a puppy mill to begin with) are unaware of the cruelty that goes on in puppy mills and so don’t realise that, by buying animals from these places they are keeping them in business to carry on with what they are doing. Those that do realise the cruelty think they are doing a good thing by buying these pups and giving them a good life. Sure, that is great for the individual puppy but not great for the thousands more that are being “bred” because of people that think they are doing a good thing by saving one, keeping the puppy mill buiness alive.
Plus, as many people have already said it is convenient. Many good breeders are picky as to the homes their puppies go to and are obviously more expensive. Puppy mills don’t care where the pups go and keep the price cheap in order to sell as many as possible. A lot of people who are looking for a pet don’t even think about the animals background and so don’t ask about any genetic health or aggression problems and so puppy mills can get away with selling dogs that may be less than healthy.
In England (not sure about the US) it isn’t always easy to give a home to a rescue dog either. When I got my Staffy, Zara, we had to have an interview to make sure we were capable of looking after one of their dogs, a home check to make sure everything was dog proof and she had to meet our other dogs to make sure they got along etc. This is a good thing in many ways but it also encourages more people to go to puppy mills because they don’t have to go through all of that in order to get a dog.
So yes, it is convenience and ignorance 100%. Thankfully, pet shops over here cannot sell puppies but you will often find adverts in pet shops from people selling puppies and I often wonder whether the pet shop have checked to make sure that they are a legit breeder rather than a puppy farm.