why do changes to the armature made in edit mode vanish when I change modes?
Unlike plain objects armature bones have two defined positions. The first position is known as the rest position (or rest pose) and is the position while in edit mode. While in pose or object mode the pose position is used. This pose position is the one that you keyframe to get animations.

While in pose mode any movements are retained as locations relative to the rest position, You can rotate a bone in pose mode then go into edit mode and move it sideways, it will also move sideways in pose mode but will also retain the rotation that was applied before the edit was made.

While in pose mode you can select bones as desired and clear any rotation or location changes to get the armature back to a rest pose with AltG for location and AltR for rotation.

In the armature properties you can also switch between rest and pose position to see any pose alterations.