Complicated motor shield?

I've understand the main purpose for using a motor shield (powering motors without frying your Arduino) but I've also seen a few videos recently about using MOSFETS and pwm to power different motors. Why bother with a motor shield, libraries, etc. if simpler components can do the same thing? What does the motor shield offer that simpler components driven by any Arduino cannot accomplish?

I've been considering the Adafruit motor shield 2.3. I was discussing with a friend that wasn't savvy with Arduino when she asked me why even bother with the shield. I couldn't give a decent answer since I don't have enough electronic/programming experience. I've basically been getting by how-to's on Youtube and this forum.

Thanks

Apologies...this was meant to go under project guidance. If a moderator could please move it, that would be awesome.
Thanks!

If you are sure that you can run your motor with only a transistor, then do it. If you have to make your motor turn back and forth, then the circuit becomes more complicated, and that's what a motor shield allows to do without soldering. And if you have a different (stepper...) motor, you need a different shield as well.