Well, there's Spring Map Edit, which has a terrible interface but works. It's also useful for compiling maps, as long as you're on windows. (it can't compile maps on linux because dumb)
You can find SME
hereLots of people use blender for making maps. That's complicated and I don't know all of how to make that work.
Other tools like world machine are also popular for making maps.
Maps are composed of a number of different images and other resources. A basic map consists of a config file (old maps use an "smd" file, which is plaintext, new maps use mapinfo.lua), a heightmap (16bit grayscale), a texture map (ie the colors, RGB with optional 1-bit alpha if you want 'bottomless' areas) and a metal map. Maps are compressed in 7-zip files (most spring files are), which you can open by renaming them as such. Note that the texture and heightmap images use a special gfx-card-friendly format and have to be decoded by SME or similar to edit them (SME lets to export those images as png or bmp as well, which is at least one reason to have SME).
Maps can also use detail 'splats', which allow for details with higher resolution than the texture map normally allows. The latest dev version of spring supports splats for surface-normals as well.
Maps can also contain lua scripts such as widgets, gadgets, and GLSL shaders to add specific effects to maps.
Skyboxes are also supported (power-of-two image sizes only).
And, of course, you can add 'features' (like rocks and trees and other such things) which are optionally relcimable, destructible, etc. A feature is just a model, a texture (or textures) and a lua config. There are lots of places you can get features from, but beware that the lua configs are often poorly written and can lead to screwy behavior. Features often use special spring-specific 3D formats, but modern spring supports *.dae which is better and is directly supported by all 3D object editors (such as blender).
Mapmaking is pretty much DIY. There are no official tools, no 'right way' of doing things and you're pretty much stuck figuring everything out for yourself.