A Stellar Memo is used by public services (like exchanges) that only have one wallet for all their costumers, Memo is a notes field that which allows those services differentiate their users. It is also used by Tempo to identify which payment you are paying for.
Basically, when the memo is needed it will provided to you and you need to included it when yo usend.
Another example, if I would send you XLM now I could write a memo with "from TEMPO" and then you would know it was me that sent you the XLM.
Knowing if you need to send a MEMO is super important when using exchanges as otherwise they do not know who the funds are for. Memo fields are normally text but they can be other types (numeric etc)
Here are some exchanges and the memo tags they expect:
Here is the list: