Ideally a pup should not be spayed until after their first heat. Many breeders require that a female not be spayed prior to a year old, so that there is time for all the bones and joints to grow properly. The main disadvantage to NOT spaying is the bloody mess of heat, the risk of the dog getting pregnant, the risk of developing a pyometra (which can be deadly), and the risk of mammary cancer (and other 'female' cancers). Shelters spay/neuter so early because they KNOW that people do not responsibly spay when it's an appropriate time, or they won't keep their female away from males during heat times, or that they have greedy ideas about breeding the dog and selling the pups. It's a totally different mindset than a dog in the home of a responsible owner. If she has had one heat, and is a couple months past, then you can either wait one more heat, or schedule her spay.