The only real downside is that you're using the Vbe of the transistor as your voltage reference. This will have a strong temperature coefficient.
Basically it works by using the transistor as a kind of variable voltage limiter that varies from a minimum of about 0.6 V to a fairly high arbitrary value. By raising the voltage across the transistor, you reduce the maximum voltage across the 0.5Ω resistor, thereby limiting the maximum current.
Note that only about half of the pot's range will be useful. If you turn it down too far, raising the transistor's voltage limit above 1.25 V, the only current that reaches the output will be current that passes through the pot itself.
It would make sense to put a 470Ω resistor between the leg of the pot and the emitter of the transistor; then the full range of the pot would be useful.