Why mosfet is preffered over voltage divider for voltage level shifting
In circuit B, if your output voltage draws any current, it can significantly load the voltage divider and cause your output voltage to change far away from the intended value, in this case, 3.3V. Even when your output is connected to a high impedance pin, if your R1 and R2 values are very high, very small amounts of quiescent current can still change the output voltages significantly.

Also, with circuit A, you really only have one thing to change, and that's the pull up resistor. For example, some communication lines need maybe a higher or lower pull-up resistor value (I2C often specifies 4.7k, but 10k is also used for a lot of things), and circuit A makes that a lot easier. You'd only have to change one resistor and you'd consume less power.