WOW Gold Home -->Commands that accept options

Only the "secure" commands respond to macro options. In fact, the secure commands are the reason macro options were created in the first place. Insecure commands like chatting, emotes, etc. can be scripted using Lua and the /run command. Furthermore, Blizzard didn't want to confuse people who use semicolons in their chat messages. If /say could use macro options, the following would always just say "Hello":
/say Hello; I'm a n00bThe following is a list of all the secure commands currently available in WoW:
#show *
#showtooltip *
assist
cancelaura
cancelform
cast
castrandom
castsequence
changeactionbar
clearfocus
cleartarget
click
dismount
equip +
equipslot +
focus
petagressive
petattack
petautocastoff
petautocaston
petdefensive
petfollow
petpassive
petstay
startattack
stopattack
stopcasting
stopmacro
swapactionbar
target
targetenemy
targetfriend
targetlasttarget
targetparty
targetraid
use
userandom
* #show and #showtooltip are not technically secure commands, but they operate with macro options just like /use and /cast.

+ /equip and /equipslot are not technically secure since their functionality is available to addons and macro scripts.
If you would like a way to use macro options for insecure commands, there are addons that provide such capability. My addon, MacroTalk (http://www.wowinterface.com/downloads/info6853-MacroTalk.html), adds a number of /opt___ commands for each chat command and a generic /opt command that lets you use options to choose other full (insecure) slash commands.

[target=unit]

In addition to condition checking, the macro option system provides us with a way to set the target of various actions. For example, the following macro will always use the bandages on the player regardless of what is targeted (see http://www.wowwiki.com/UnitId for a full list of unit IDs):
/use [target=player] Heavy Netherweave BandageBesides setting the target of the action itself, the [target=] assignment also sets the unit that the conditionals are checked against. Since that probably didn't make much sense, here's a macro that combines concepts from both of the examples you've seen so far:
/cast [help] [target=targettarget, help] [target=player] Flash HealFirst it checks against [help]. If it's true, then it passes Flash Heal to /cast. Otherwise it moves on to the next condition, [target=targettarget, help]. Now it checks for help again, but this time it's checking to see if your target's target is friendly. If it is, then it will pass Flash Heal to /cast, but this time it also tells /cast that it should be cast on your target's target. If it still hasn't found a valid target yet, it'll move onto the next condition, [target=player]. Since there are no actual conditions in there, it will always be true, so Flash Heal is sent to /cast with you, the player, as the target.