The downside of using a 2N3055 is that the gain is low. You may need a lot of current to drive the base, and I don't know how much current the 0 / 5 V source can provide. If it is going to be a microcontroller output, the current can't be more than around 10 mA, and less for some microcontrollers. The 18 Ω resistor means that the circuit is looking for 240 mA.
The advantage of having some resistor in the 10K position when using a MOSFET is that the resistor will cause the MOSFET to turn off if the 0 / 5 V source is disconnected. Without the resistor, the gate voltage will stay at what it was last left at, or leakage currents could take it to any voltage, and the motor behaviour is unpredictable when the 0 / 5 V source is removed.
There is no problem running a MOSFET with a 9 V supply. Although the specifications of many MOSFETs are quoted at 10V Vgs, there is hardly any loss of performance at 9V. The problem with low gate voltages comes from non logic-level MOSFETs, such as the AUIRRFZ44N, where the turn-on threshold is quoted at 2 - 4 volts. They are not fully on at 5 V, although probably enough to run that small motor. The original circuit with the 4.7kΩ and the 10kΩ resistor would have only provided 3.4 V, so the AUIRRFZ44N might not turn on at all.
If a logic-level MOSFET is used, there is no problem at all using a 5V Vgs, because the turn-on threshold is smaller, maybe 1.5 - 2.5 V, and logic-level MOSFETs are fully on with a 5V Vgs.