Hi Mel.  Macros are really just mathematical formulas with a few special rules about evaluation.  They don't have any actual logic or storage. You can write macros the combine dice rolls, add attributes and constants to them, automatically reroll some values, etc.  You cannot set any values with them (outside the Initiative tracker and something else I can't remember).  Basically, Macros can't change anything, they can only report the answer to a math problem.  The API is a full programing language (Javascript).  With it, you can interact with large portions of Roll20.  Change the values on characters, determine where tokens are, create new tokens, etc.  Many many possibilities.  Hope that helps!