MapWindow + pmapper (Mapserver) = GIS
I had heard of it before, but never used it. Mapwindow is an impressive application that has many GIS functionalities (suitable for map production and limited GIS analysis). I downloaded Mapwindow 4.4 and installed it and it worked like some kind of a charm. CSV-to-shapefile converter, clipping, (re)projections, buffering, merging, export/import, table/shapefile editing and several raster/vector/image/KML tools (including cross-conversions) are incredibly good for an open source system. Overkill, to put it simply!
Mapwindow uses the concept of plug-ins a lot. Using VB.NET or C#, one can easily add a plug-in to meet specific user requirements.
On the other hand, I have extensively customized and used pmapper (based on another open source GIS framework - Mapserver) for map publishing. pmapper, as far as I know, has no equal in map publishing. It just seems to be the best, at least in the open source domain.
For small-scale and resource-constrained settings, one should be able to comfortably use a combination of Mapwindow and pmapper to meet many of the GIS needs.
Tip: While converting CSV-to-shapefile, make sure that no data points have commas e.g. "P.O. Box 112, Kampala". These commas will completely confuse the converter. Replace all commas with some other character e.g. ";" before saving the file as CSV in Excel.