If you have not heard about it so far, Paint.net is very good FREE image editing software. It does not mean that it can replace Photoshop but it has enough features which anyone require for creating images for using in simple websites or desktop applications.
According to official website-
Paint.NET is free image editing and photo manipulation software designed to be used on computers that run Windows. It supports layers, unlimited undo, special effects, and a wide variety of useful and powerful tools.
But Paint.net is missing one feature which is creating icons. Although there are other alternatives available but I did not want to download one another software just for creating icons. Than I googled in a hope to found something so that I can create my icons with Paint.net only. Finally I have found one plugin that was having this ability. It is only a 24.6 kb download (Version 3.0.1.0) in zipped format. Just unzip this file and paste into the “FileTypes” folder under the Paint.net installation directory (for example – C:\Program Files\Paint.net\FileTypes).
This plugin can be downloaded from http://www.evanolds.com/pdnicocur.html.
Paint.net can be downloaded from http://www.getpaint.net.