Here's my list, and what I've discovered about each. Feedback would be appreciated, so I know what options to give users and can write the appropriate documentation. Thanks!
D - Data block, %%data%%
This seems to be the default. If nothing else is specified, it defaults to doing this. Everything passed to the tag is spat out as %%data%%.
F - Full, requires subdeclarations (useful for PAGE)
This element can have subelements defined. (Well, it seems like it's required to have subelements defined.) This is the PAGE variable, I haven't really found any other use for it. Pipe Blocks work fine for me and are less of a pain to actually use.
P - Pipe, %%data1%%, %%data2%%, etc
This sort of block lets you pass multiple parameters separated by the pipe ("|") character. Fairly self-explanatory, and pretty useful.
R - Flag wants variable interpolation, but no expansion
I have no idea. This seems like it'd allow %%foo%% to be interpolated, but what's expansion? I don't understand the BML difference. (Is expansion the recursion of other BML tags?)
S - No variables or BML tags
Static. It gets returned as is without any parsing.
p - Pre-parsing of elements, used if you want _CODE but not AllowCode
s - Static? Maybe?