What are the rest of the blending functions used for?

In general, I know of five ways to make use of blending functions (these are for OpenGL, but replace glBlendFunc() with SetRenderState(D3DRS_SRCBLEND) and SetRenderState(D3DRS_DESTBLEND) for DirectX):

glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA): Alpha blending (not premultiplied)

glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA): Alpha blending (premultiplied)

glBlendFunc(GL_ONE, GL_ONE): Additive blending

glBlendFunc(GL_ZERO, GL_SRC_COLOR): Multiplicative blending

glBlendFunc(GL_DST_COLOR, GL_SRC_COLOR): 2x Multiplicative blending (somewhat obscure)

But there are so many other values you can use when setting your blending function, and not only I've never seen them in use, but also have no idea what they could be used for. In particular, I don't see what GL_DST_ALPHA could be used for.

What the rest of the blending functions used for?

-
I have nothing to add to Nicol Bolas’s answer, but see this answer for yet another example. –  Sam Hocevar Jan 26 '13 at 11:59
Do you mind editing your question to be more generic and adding the xna tag? XNA's has similar blending options too. –  ashes999 Jan 26 '13 at 12:44
@Sam inverting is a nice trick. –  Panda Pajama Jan 26 '13 at 13:00

That's not it at all. You're trying to map a really large set of functions onto a really small set of named functions that are commonly used for image manipulation. You should be thinking about it as a function of two variables, just as we're taught about addition as a function of two variables instead of something to memorize. We're taught how to add and can then do addition on all numbers. Instead of giving a set of values a name, try thinking about it as color = src * A + dst * B, so that you aren't stumped with a new set of values, just as you aren't stumped when you see 393448 + 98943 –  Robert Rouhani Jan 26 '13 at 22:25