If I have got your question rite then the answer goes this way....
When ever two host try to communicate the first thing that happens is to check if the destination host is in the same network that you are in....For Example:-
IP- 192.168.1.2
Subnet mask- 255.255.255.0
Gateway- 192.168.1.1
AND Ip address with your subnet mask to get the network address, now any host in this network (192.168.1.0-255.255.255.0) you can communicate without any explicit routes.
When you say host outside this network -- then you need a route to reach that network. Anything outside this network is straight away sent to its default gateway 192.168.1.1 , now its this device's job to route this packet to the correct destination.
As far as NAT is concerned it is used for communicating with outside world through private to public ip conversion and vice versa.....