I'm not sure what each { } does but the way I've been treating them (and it's worked for me so far) is as a layer. However I'm almost sure it is not it acts likes one and it has worked for me. I'll explain in a bit.
map means -get this texture. So the path that comes after it is a path to a texture. A tga file is a texture file that contains transparencies. Same as a png but pngs don't work in netradiant for whatever reason. And since tga files are massive in comparison to jpgs, Use jpgs unless part of the texture should be transparent.
blendFunc is used to make part of the texture transparent. If you save a tga file with transparent space it will automatically (well it should anyway) create an alpha layer that is black and white (you can't see this). The white on the alpha layer is usually the opaque (visible) pixels on your texture and the parameter you use after blendFunc or
alphaFunc will subtract the pixels that aren't sitting on the white in the alpha layer.

Now again I don't know what the { } actually mean but I think of them like layers. Let me give you an example-
textures/my_map/ashader
{
map textures/my_map/firstlayer.jpg
//ashader really has no texture with that name. so lets give it a texture so it doesn't show up as "notexture" in the game
{
map textures/my_map/aball.tga
//Now go get this texture
blendFunc blend
//Remove pixels of aball.tga that are transparent and place this on top
tcMod scale .5 .5
//make this top texture twice as big
}
{
map textures/my_map/sparkles.tga
etc...
}
}
The first texture will be firstlayer.jpg that might look like this-

Second texture-

Final results (remember, tcMod scale made the second texture twice as big)-

And you can continue to add more layers.