Because the divider isn't necessarily one bit. Multi-bit register fields are very common. You can certainly hardcode the numbers if you want:
old_divider = (SpiRegs.CONFIG_REG >> 24) & 0xff;
which is easier to read but also easier to mess up when you're writing it. It's best to use the vendor's register definitions where possible. Although then you have the possibility of using the wrong #define constant, because all of these are just integers so the compiler can't tell you if you made a mistake.
Another "fun" issue with using numbers is that sometimes an int is 16 bits, so you have to do (13 << 24ul) instead of (13 << 24).