Subnet masks aren't always 255.255.255.255 - in fact it usually WON'T be that.
The subnet mask basically tells the computer when it needs to look outside its particular router to find another machine...
A mask of 255.255.255.0 would mean that if the first three octets matched between a destination computer's IP address and yours, the machine is found within your subnet.
If that mask was 255.255.0.0, it would only look as far as necessary to search the last two octets.
So let's say my home network uses IP addresses in the form of 192.168.1.x, my computer is 192.168.1.66 and the computer downstairs is 192.168.1.65, with my subnet mask set to 255.255.255.0. If I try to contact the machine downstairs, my computer knows that it doesn't have to look outside of the 192.168.1.x range (inside my router) to find it.
Subnet masks are basically used to reduce network traffic...