You have to refer to your internal IP while setting up listener in metasploit (because someone might want to set up the listener somewhere else in the LAN, for example a computer you can't phisically reach, not because of redirection, since NAT associates an incoming connection from a specific port to an internal IP address) which is usually set as localhost. While, hacking in WAN, it is also true that you must specify your external IP in the payload, else it doesn't know where to connect to.

Victim (payload)->internet->router->Nat says that incoming connection asking for externalip:portX must be redirected to the internal ip associated to portX (since when a port is forwarded is always forwarded to an internal ip address).

We need a definitive standard way to explain this, there are too many variables and things someone might misunderstand (or forget to say, thanks for telling me CH).

We should have it somewhere, but I have no time to research in the archives.

Like CIUFFY said internal IP are used in Local Area Networks (LAN - usualy goes by 192.168.. or 192... but it depends on how you have you LAN configured - IP starting with 127.0.. is your localHost and usualy 169.254.. means something is wrong)

The external IP is for outside your LAN, in the Wide Area Network (WAN - or web or whatever) and usualy is an IP address designated by your Internet Service Provider (ISP) or in some cases by a Proxy server.