Driving Loads
The AVR port output drive is more or less symetrical. The output current is dependent on the supply voltage, and is as high as 20mA with a 5V supply, but drops to 6mA with a 1.8V supply. You can't drive the typical LED from a pin if the supply voltage is less than 3.3V, because there is not enough output voltage to exceed the LED's forward voltage at the current required to illuminate it. Since lower voltages are used for lower power consumption, it is likely you wouldn't want an LED on a 1.8V circuit, anyway.
If you want to drive anything with more than the 20mA available, you are going to have to use an external transistor to drive it. Also, if you are going to drive anything inductive, like a relay - even a little 5V relay - you are going to want to use a transistor, too. The AVR cannot handle the kickback from the coil, and the diode protection may fail. The transistor may have to be bipolar because larger MOSFETs require more voltage to turn on than is available from lower power supply voltages. For instance, the IRF520 requires 4 volts to start conducting, and then it can't sink any current to speak of. The IRF7470 and other "logic level" MOSFETS have very thin gate insulation allowing for turn on voltages as low as 2 volts.
If you are driving an analog (PWM) device and need some power, the L165 power OP-Amp may be what you need. I have used them for servo motor controllers, with good results.