It's never been "basically guessing" but they are inaccurate because of the basic principles of population genetics.
When we talk about testing for breed identification, we're actually talking about using genetic markers, aka multiallelic loci that are in the "junk DNA" and generally don't code for anything so don't have selective pressure placed on them. Theoretically you should be able to assign a purebred dog to a breed with a very high confidence level, because purebred dog breeds are subject to fairly rapid selection based on similarity to a breed standard. This causes a number of phenomena to occur that in a nutshell mean that if marker A had 16 alleles in an original population, either selective sweeps/genetic hitchhiking or random genetic drift means that in a smaller, reproductively isolated population with founders drawn from this population (such as a breed), eventually the allele frequencies will change and in many cases, one allele may even end up becoming fixed.
To try to illustrate, let's take that theoretical marker and name the alleles A1-A16. Now let's sample 6 dogs from this randombred population that all seem to have pretty good retrieving instinct and use them to start a new breed. If every single dog in your sample were heterozygous and all had different alleles (which is not really likely) you'd still be losing 4 alleles completely from the originals. Apply selective pressure, use popular sires, and don't outcross, and you can see how the allele frequency of the founder alleles will obviously be different in this new population from the population from which the founders were drawn.
So each breed will have different allelic frequencies at these markers, and when you genotype a dog at enough diverse, proven loci and wave your hands around a little, you can come up with a statistical probability of the dog belonging to a particular breed. The problem with trying to do this for mixed breeds is that admixture totally muddies this up. There are algorithms they use that are actually quite cool to assign breeds based on marker genotypes, but by and large the error rate is pretty high. It's a lot of inferring and simulation...
Basically it's a fun little conversation starter. I will discuss more about it later if anyone really wants me to, but I doubt that's the case.