I agree with Ingo about proposed descriptions of \& and sentence spaces. Elaboration is not explanation.
\& is simply a zero-length character. Its primary use is to disguise sequences that groff would otherwise unwantedly interpret. For example, "\&." at the beginning of an input line will be taken as text, not a groff request. Given the general case, further examples are unnecessary. "Sentence space" is a fraught convention, mentioned in groff(7) but not defined. It is not revealed that "sentence space" is extra sace, not the whole space between sentences. Nor is the default sentence space stated. A first cut at a general definition might be: BUGS Extra "sentence space", by default one space character, is inserted after sentences, which are identified by artificial intelligence. False identifications may be mitigated by judicious use of \&. A personal false-identification hazard: in the court of groff I will be declared innocent if I call myself M. Douglas McIlroy, but will be sentenced if I call myself Mr. Douglas McIlroy. Again speaking personally, this discussion has made me aware of the second argument of .ss. I expect from now on to cut the Gordian knot by using .ss 12 0, at least in nroff. Incidentally, groff(7) defines \n[.ss] enigmatically thus: "The value of the parameters [sic] set by the first argument of the ss request", and defines \n[.sss] similarly. A more informative definition would be, "The value N set by .ss N M". This rules out other plausible values, e.g. \w' '*N/12. Doug