STM32F0 GPIOx_ODR vs GPIOx_BSRR
The BSRR has bitfields that allow you to set and clear bits in a port atomically--without a read-modify-write operation.  Instead of reading the ODR value, ORing it with the bits to set, and writing it back, you simply perform a single 32-bit write to the BSRR to set or only the relevant bits.

This often means you don't have to disable interrupts or use other concurrency protections when using the BSRR, and results in smaller and faster code for bit twiddling operations.