There are basically two types of 2D images: raster and vector. Raster images are "bitmap" pictures like JPEG and PNG without math definitions. Vector graphics are more mathematical depictions of geometry and formulas such as lines, arcs and conic splines. Some applications actually combine both of these two data sets in their native file format. My favorite application for raster image editing is free. It is GIMP.
Gimp is a large suite of free raster image editing tools (similar to Photoshop) which can edit, convert and enhance most popular raster image formats. Its functions include smooth image scaling and mode conversion, as well as path editing, selection tools, macros and the list just goes on and on. There are many books about GIMP. It runs on Linux and MAC OS X, as well.
Another handy tool to download for free image editing like Photoshop is Paint.NET. It downloads smaller than GIMP and doesn't depend on GTK but uses Microsoft .NET 2.0, so it only runs in Windows. It doesn't support near as many formats and tools as GIMP. Lighter weight and easy to use, however, some still prefer Paint.NET over GIMP so it's worth mentioning here.
A useful tool for free vector graphics and diagraming similar to Visio is Inkscape. Some confuse Visio and Inkscape to be CAD programs. It's an easy mistake to make. What they really are is vector graphics tools, mainly for diagram creation. But Inkscape can also edit combined raster and vector files such as Acrobat PDF (let's see Visio do that). It favors open standards like SVG but can also read DXF. If you don't have Inkscape yet and are reading this Blog, you should go download it. Simple as that.
Another new project similar to Adobe Illustrator is Creative Docs .NET. At this time, the project lacks data exchange with other software, but it is still worth having in a pinch and it's free.