biconnectivity
A network is robust if no single failure can break it. Biconnectivity is the precise version of that idea: an undirected graph is biconnected if it stays connected after you delete any one vertex — there is no single point of failure. Equivalently, between any two vertices there are at least two vertex-disjoint paths, so even if one whole route goes down, another independent route survives. It is the structural guarantee behind fault-tolerant networks: you can always reroute around any one broken node.
Biconnectivity is exactly the absence of articulation points: a connected graph (with at least three vertices) is biconnected if and only if it has no cut vertex. The deep reason is a classic theorem (Menger's, in spirit): no cut vertex means every pair of vertices is joined by two paths that share no intermediate vertex, which is what 'two independent routes' formally means. More generally, any graph decomposes into biconnected components — maximal subgraphs that are each biconnected — which fit together at exactly the articulation points, where two or more biconnected blocks share a single vertex. This block structure is found by the same low-link DFS that detects articulation points: as you discover that a vertex is a cut vertex, you peel off the edges of a biconnected block that ends there, using a stack of edges. So the same O(n + m) traversal yields the articulation points, the bridges, and the biconnected decomposition all at once.
Knowing the biconnected structure tells you where a network is strong and where it is brittle: the blocks are the resilient cores that survive any single node loss, and the articulation points joining them are the vulnerabilities. This matters in designing communication and transport networks, in planarity testing, and in some graph algorithms that process blocks independently. The honest fine print. Biconnectivity (resilience to one vertex removal) is the vertex-flavoured notion; its edge-flavoured cousin is 2-edge-connectivity (resilience to one edge removal, i.e. no bridges) — they are related but not identical, since a graph can be 2-edge-connected yet have a cut vertex. And a single edge or a single vertex is a trivial degenerate case the definitions usually treat specially, so always check the small-graph conventions when you apply the term.
A single cycle a-b-c-d-a is biconnected: delete any one vertex and the other three are still connected in a path, and every pair has two routes (clockwise and counterclockwise). But two triangles sharing one vertex x are NOT biconnected — x is a cut vertex, so removing x splits the two triangles apart. The triangles are the two biconnected blocks, joined at x.
No cut vertex means biconnected; articulation points are exactly where biconnected blocks join.
Biconnectivity (no cut vertex) is the vertex notion; 2-edge-connectivity (no bridge) is the edge notion — a graph can be one without the other. Both fall out of the same low-link DFS, but do not conflate the two guarantees.