A simple resistor lowers the voltage as the load increases, rather than a sharp cutoff. This is not a common solution.
The transistor will do well for many jobs, but calculate how much heat may be produced. A lot of the voltage will be dropped on the transistor. It may also be inappropriate for AC circuits- you do not mention if this is AC or DC.
Since you mention this is a motor, you must consider how much current this will normally need to start. This may be higher than the acceptable limit for continuous operation, but the transistor solution has no time lag and may limit startup current preventing it from starting.
Ideally you'd have a microcontroller which senses current, probably through a shunt resistor or current transformer (AC), using a much higher threshhold for startup, and gradual slowdown limiting with PWM for DC or an SCR for AC.