Balancing networks represent a new class of distributed, lowcontention data structures suitable for solving many fundamental multi-processor coordination problems that can be expressed as balancing problems. In this work, we present a mathematical study of the combinatorial structure of balancing networks, and its applications in deriving impossibility results and verification algorithms for such networks. Our study identifies important combinatorial transfer parameters of balancing networks. Necessary and sufficient conditions are derived, expressed in terms of these parameters, which precisely characterize many important and well studied classes of these networks, such as counting, smoothing and sorting networks. Immediate implications of these conditions include analogs for these network classes of the Zero-One principle holding for sorting networks. In particular, these conditions precisely delimit the boundary between sorting and counting networks. We use the necessity of the shown combinatorial conditions in deriving impossibility results of two kinds. Impossibility results of the former kind establish sharp restrictions on achievable network widths for several classes of balancing networks; these results significantly improve upon previous ones shown in [2, 20] in terms of strength, generality and proof simplicity. Impossibility results of the latter kind provide the first known lower bounds on network size for several classes of balancing networks. We use the sufficiency of the shown combinatorial conditions in designing the first formal algorithms for mathematically verifying that a given network belongs to each of a variety of classes. These algorithms are simple, modular and easy to implement, consisting merely of multiplying matrices and evaluating matricial functions.