Non-staged payloads:

Nonstaged payloads deliver the entire payload code in a single transmission. This means that the entire payload is delivered to the target system at once. Non-staged payloads are useful when the payload code is small and can be easily transmitted in a single packet. One example of a non-staged payload is a reverse shell payload that uses a simple command to create a reverse shell connection with the attacker's machine.

Example : windows/reverse_tcp_interpreter

Staged payloads:

Staged payloads deliver the payload code in multiple stages. This means that the payload is broken up into multiple pieces and each piece is transmitted separately. Staged payloads are useful when the payload code is large and cannot be easily transmitted in a single packet. Staged payloads are also more difficult to detect and block because the payload code is delivered in pieces. One example of a staged payload is the Meterpreter payload in the Metasploit Framework, which uses multiple stages to create a remote shell connection with the target system.

example :

windows/reverse_tcp/interpreter