I reckon that Rule 29 is as it is because those responsible for it have the sense that pairing is an “art not a science”, as artichoke said above. The feeling is that, as Atkins said, directors learn to pair by doing it with cards, and they develop intuitions over time about what works and what doesn’t and what outcomes “look right” and what do not. They apparently feel unable to articulate these intuitions in the form of rules. Nevertheless, we have Rule 29.
Specifying particular algorithms, such as FIDE does, would make it deterministic whether a particular piece of software is “compliant” or a particular pairing is “legal”, but it would accomplish this by disfavoring other equally good algorithms, used by other TD’s. A lot of times the algorithm used by USCF TD’s is SOP (“seat-of-pants”), but it is the result that counts. If the rules specified a particular algorithm, the specified algorithm might not find a reasonable pairing in all situations. Nobody wants to be told that his way of doing things is not compliant, especially when it produces results as good as the blessed algorithm.
The feeling is that a good TD must use his judgement and experience to do a pairing, or to recognize that a pairing produced by software is acceptable. Though some parts of Rule 29 are highlighted as “TD Tips”, in fact, it is almost all “tips”. That is fine as far as it goes, but we are talking about a Rulebook. A rulebook is not the place for a little introductory tutorial for TD’s on how to do Swiss pairing, What people seek and expect in a rulebook is a clear description of what constitutes an acceptable or legal pairing. That is all. Programmers (and their users) want to know if the pairing software “complies”. Players want to know that they are being treated fairly by the TD. TD’s want to be able to say to players: this is a legal pairing, stop complaining and go play the damn game.
People can go somewhere else than the Rulebook for a handbook on Swiss System pairing. In fact, the less said in the nature of pairing tips the better, lest the tips be taken as normative and prescriptive. In a rulebook, if you don’t have something prescriptive to say, and a good reason for prescribing it, better not say anything.
Despite what some people have said in this thread, currently Rule 29 does not tell you whether a pairing is “legal” or what constitutes compliance in pairing software. Vendors advertise that their software follows the “USCF pairing rules”; but frankly I don’t see how anybody could know that, since the pairing rules neither define what constitutes a valid pairing, nor specify an algorithm for arriving at a valid pairing.
One approach which addresses these issues is FIDE’s. It documents a number of alternative Swiss-pairing algorithms. If you follow one of them you are compliant. They all have the same structure. They start by defining what constitutes an acceptable pairing. Several steps are then described. Upon the completion of those steps, if the result is acceptable, you get to stop. Otherwise, you back up some number of steps, take a different action (generally, it is the relaxation of a constraint), and repeat the steps, perhaps changed somewhat. This continues until you get to an acceptable pairing, and stop, or else you run out of steps (having relaxed all the constraints that may be relaxed). If you run out of steps, that final state is deemed acceptable even if it does not satisfy the initial definition of acceptably – notionally because you have followed the algorithm and tried everything allowed by the algorithm to remove problems.
We don’t have to use FIDE’s approach. The FIDE approach has the disadvantage of requiring particular algorithms, disfavoring other algorithms which may be better in some situations, or at least as good. Another approach would be to describe a metric for saying that one pairing is better than or equally good as another pairing. Then one could specify one particular algorithm, but allow any pairing which is equally good as or better than the one produced by the canonical algorithm.