The downside to adopting from a shelter is that you don't know as much information about the dog as you would if you were adopting from a private rescue or buying from a breeder. Also, you will not be exactly sure about the breed or the mix of breeds. You will not have any guarantees on the size or appearance of the adult dog if you are getting a puppy.
There are a few different types of shelters: private/nonprofit, progressive, and municipal. The private/nonprofit and progressive shelters are usually smaller, and they have a fewer amount of animals than municipal shelters. These shelters might have nicer facilities and have volunteers and staff who don't just feed and shelter animals but also train, socialize the animals, and provide adoption counseling to clients. On the other hand, municipal shelters usually are both animal control facilities and animal shelters, and they provide shelter to strays and owner turn-ins. They're also trying to adopt dogs out. Municipal shelters may be understaffed and overcrowded, so they usually must euthanize a larger number of the dogs in their care than do private/nonprofit shelters.
Therefore, many animal lovers prefer to adopt a dog from a municipal shelter, because they feel that they're making a greater impact. Others enjoy a private or a progressive shelter because they receive support and counseling. You can make that decision based on how comfortable you are.
There are many cities that require animals to be altered before being placed into adoption. Even an eight-week old puppy can go home altered, because research has proven that early spaying and neutering is safe for most animals. You might have to wait a couple of days to pick up your new puppy, since most shelters alter them once they have been adopted.
A municipal shelter will only require you to provide your basic information, such as your name and address. On the other hand, progressive shelters are more like rescue groups in their adoption process. To help match the right dog with your family, they will ask you to fill out a lengthy application and offer you adoption counseling. There are get-acquainted rooms now in many shelters, where you can spend some time with a potential puppy before taking him home with you. Before making your final decision, they may also suggest for you to introduce your existing pets to the new pup. To ensure your new dog is the perfect match for everyone, some shelters have even started giving a grace period to allow you to keep the dog in your house before officially adopting him.