A good article to read is
http://wow.gamepedia.com/Macro_conditionals.
Basicly, the brackets each list a number of conditions separately that must be matched in order for the command to execute. This can be very powerful if you know what you're doing. The
@<UnitID> specifies the target of a command and what unit to check the conditions against.
harm checks if the unit exists and is attackable.
help checks if the unit exists and is friendly.
dead checks if the unit is dead. The
no- prefix is a boolean not operator that returns true if the condition is false. If none of the brackets can match their conditions on the target, the command won't run. Adding empty brackets forces a true condition since there are no defined conditions and the command will run on its default target since one isn't specified.