Paint.NET is free image and photo editing software for computers that run Windows. It's easy to use and learn. I just use my common sense and I learned how to make icons with some transparent background.
In my opinion the best feature offered by Paint.NET is you get to make small icons with a transparent background. For example the favicons I use for http://www.oneminuteinfo.com/
were made with Paint.NET.
Granted it still takes some time to learn how to use Paint.NET. Simply Google how to use Paint.NET and you'll find a ton of free, useful tutorials.