In 1970 Walter Savitch proved one of the truly classic results in complexity showing that one can simulate nondeterministic space in deterministic space with only a quadratic slowdown.
In complexity terms, for any space constructible function s(n) ≥ log n,
You can find the proof in an earlier post.
As a consequence you get PSPACE=NPSPACE, which is why you don't see NPSPACE in the zoo.
Chandra, Kozen and Stockmeyer used a modification of the Savitch algorithm to show that polynomial space can be simulated in alternating polynomial time. This relationship led to showing lots of games PSPACE-complete and played a critical role in showing IP=PSPACE.
Circuit wise, Savitch's algorithm puts NL (nondeterministic log-space) in SAC1 (log-depth circuits with constant fan-in ANDs and unbounded fan-in ORs).
For a directed graph G=(V,E), let Gk=(V,Ek) where (u,v)∈Ek if there is a path of length at most k from u to v in G. One way to view Savitch's theorem is to compute G2k from Gk using O(log n) additional space. You then apply this graph powering log n times to get from G=G1 to Gn where (u,v)∈En if there is a path from u to v in G.
Reingold uses a similar paradigm in his result that SL = L. He shows for undirected graphs that you can do a weaker form of graph powering (using expander graphs) but with a similar effect using only O(1) additional space at each step.
But after 35 years we still have no better upper bound on the deterministic space complexity of NL than O(log2 n) from Savitch's Theorem.