"Ah," you say, "but connecting endpoints directly to each other brings us back to the N^2 connection problem." Hypothetically, yes. In practice, no. In practice, nobody ever needs to connect everything to everything else. The N^2 problem just doesn't arise. Installing a bus to solve the hypothetical problem and trading away all possibilities for speed, efficiency, and flexibility in the process is often an extremely poor choice.