It is fairly common that microcontroller output pins can sink more current in the low state than they can source in the high state. As a result, designers got used to putting LEDs, or anything else that needs a high (for a microcontroller pin) current between power and the pin instead of between ground and the pin. When the micro has symmetric source/sink capability, this is not necessary, but does no harm either. When the LED requires more current than a digital output can handle, or at least more than you want to let it handle, you need to use a external transistor. A low side switch is the natural and simple choice. The LED is then connected between power and this transistor.