TileMill is a front-compiled desktop application for build your own maps, developed in BackboneJS.
You can import a bunch of different data: vectors, SQL, geojson, geotiff, raster files… and manage it in layers. After that you can style it with carto css that is a standard style system very similar to css and some preprocessors like less / sass.
The possibilities are endless, you can fill regions, apply filters to raster layers (something like photoshop multiply), add strokes, shadows, apply patterns, masks, combine raster with vectors, add images, custom fonts (size, style, etc)
Here some examples that you can do
Tilemill exports the map and data in: pdf, png, sgv, mbtiles, mapnikXML. Tilemill is thought to build and custom small regions and upload result tiles (.mbtiles) to Mapbox server service. But. If you feel a superhero, you can build your own map service server with some opensource libraries (because all is based in standards) or use .mbtiles in a local machine for a custom application. All is possible.