What's the difference between Blueprint Macros and Blueprint Functions?

This is an excellent thread so I thought I’d add one more thing that hasn’t been mentioned and further clarifies the difference betweem macros and functions - macros can’t have local variables.