If you're outside the network that the Mac is on, then there are certain ports that must be opened up on the router on that network and properly forwarded to the IP address of the mac. The connection is then made to the public IP of the router on the WAN side and the router bridges this connection to your Mac on the inside of the NAT'd network. This is all pretty involved... not difficult to set up, but involved for the novice user.
Now, the reason Remotix works is because it's not a VNC client. Remotix is a remote connection client that works by way of a 3rd party intermediary. The way Remotix works is that you create an account with them and then add your Mac (or any other PC you want) to that portal and the host software that runs on the system you just loaded it on actually does the "tunneling" out of your private local network and registers with the Remotix servers and advertises the connection as available. On the client side (i.e. your iPhone), you connect to that same Remotix account and see the Mac as available, so it lets you connect that way because that session/tunnel of the appropriate ports for that remote connection as been done from the inside-out of your network at home.
Basically, without networking knowledge of how to open/forward TCP/UDP ports and still maintain proper security on a LAN/WAN, it's suggested you use these types of remote connection solutions. Remotix, LogMeIn, SplashTop, etc. The way they work does all the "behind the scenes" setup for you without the need to change anything on any network your host computer is on that you want to connect to.