More detail than you probably wanted to know.
Stacks can be both "descending" (growing down) or "ascending" (growing up). Stacks can also be either "full" (SP points to a "full" i.e. used entry in the stack) or "empty" (SP points to an "empty" i.e. unused entry in the stack.)
Most stacks are "full descending". I think a few are "empty ascending". The other two (FA,ED) don't see much use, if only because it's unclear which byte they should point at if you can push/pop values of different sizes.
EDIT: The naming above may be a bit ARM-specific, if only largely because most platforms don't let you pick a direction.
The canonical mnemonics for the relevant ARM instructions are actually LDMIA (load multiple increment after) and STMDB (store multiple decrement before) for a "full descending" stack, but ARM decided to add LDMFD/STMFD aliases so programmers only need to remember the type of stack in use. The increment/decrement before/after are the canonical names because the ARM architecture is (mostly) orthogonal; the use of a stack is by convention (i.e. EABI) instead of something perscribed by the architecture itself. The exceptions are r14 (LR), r15 (PC), and the set of registers which get shadowed between the different supervisor modes.
The "increment after" naming may be more sensible if you're using ldm/stm to implement something like memcpy().
(I'm ignoring Thumb, which has explicit push/pop instructions).