192.168.x.x is the internal IP. the other one is the router/modem/hub IP.
If the router has a firewall, you need to open a port, or fordward it to the port where the program is listening.
The external IP changes because most ISP's use to asign dynamic IP via DHCP. A dinamical IP changes every x amount of time determined by the ISP. It also changes every time you reconect.
(If you find any mistake in my English, please let me know via a PM)
(Really, I speak terrible English, so please, tell me if I make mistakes. I'd like to improve it a bit )