powering a USB powered device

To saturate (turn on fully) an NPN transistor, you need to pass several mA through the base to the emitter. In order to do this, you need to exceed the turnon voltage for the base-emitter junction, since it acts like a diode. This is typically 0.6 or so volts. Before the voltage difference between the base and emitter reaches 0.6 volts, the transistor is not on at all.

If you put the emitter "above" the load you're trying to control, it becomes very difficult for your Arduino to get the 0.6V difference between the base terminal and the emitter terminal. You have to overcome the forward voltages of your load LEDs and the dropping resistor, all of which is already looking for 5 volts, plus the turnon voltage of the transistor base, and you have to put a few mA through the whole thing. The Arduino only outputs 5 volts, making this pretty difficult.

Now, putting the emitter directly to ground means that you can get plenty of voltage difference between the base and emitter. You use a resistor to limit the current through the base-emitter junction because it might be possible to damage the transistor or Arduino output pin if too much current flows.