How come when I subdivide an edge, it only continues to subdivide one side?
It's because the face on the right is already subdivided, and so is the edge between them. You should have subdivide them both at the same time.

You could fix this by selecting all the vertical edges between the faces and rip them (shortcut v). Then remove excess verts (select them and x -&gt; Dissolve Vertices) on the face you're trying to subdivide. Subdivide the face. The verts on the right should allign. Now you have duplicated vertices in that region. Remove them by selecting all vers in the region (you'll probably have to turn on X-ray (alt+Z) to reach the duplicates) using Merge by Distance.