Like others have said, it's now generally recommended that you wait until your dog is done growing to spay or neuter. Generally, most dogs (excluding giant breeds, which can take 2-3 years to finish!) are done growing by about 1 year old, but to be absolutely sure you have to go to a vet and get them x-rayed and they have to confirm the growth plates have closed.
As mentioned, recent research has shown that delaying neutering in both males and females may be beneficial in some areas of health. In light of that, I'm delaying spaying on any future bitches, and may consider keeping a any males intact.
However, if you think that there is any chance that you might not be able to safely confine an in-season bitch and ensure that she won't be accidentally bred, then spaying at 6 months is the better option. Same for a male if you think you wouldn't be able to keep him from accidentally breeding someone's bitch.
I'm with LeoRose on weighing risks of early spay versus risk of accidental pregnancy in your particular situation. Since for me and my dogs the risk of accidental breeding is almost non-existant, I didn't spay until they were almost three.
I also chose to have laparoscopic spays done on my last three bitches. It's a more expensive procedure which takes out the ovaries but leaves the uterus. I chose it because every bitch I ever had (Akitas and Rottweilers) ended up with spay incontinence at some point in her life. It may be anecdotal and only my situation, but supposedly the laparoscopic procedure is less traumatic on the organs, and none of the 3 bitches I've had spayed that way has developed spay incontinence. One is now deceased, so in her case I can say never. The other two are now 7 and 5, so I can only say so far.