What's the point of Subnet Masks?
The main benefit is in the size of routing tables. Instead of having to store an entry for every machine on the network, you only need to store an entry for the particular subnet.

For example ISP might have X.Y.Z.W/16 and anyone sending a packet from the outside to any machine in this subnet only needs to know the route to their border. Their border router has a more fine grained view of the subnet (which is probably further split into many more subnets) and then knows which router on their network to send the packet to based on which smaller subnet it belongs to. Thus, subnets provides a level of abstraction to the OUTSIDE. Not the INSIDE which you seemed to have expected.

EDIT: Here's a simplified example. Assume that some large ISP has the network 1.0.0.0/8. Within this large network there are two smaller networks 1.0.1.0/24 and 1.0.2.0/24. To reach a system on either of the two smaller networks a system outside of 1.0.0.0/8 only needs to know the address of the border router of 1.0.0.0/8. Once the packet reaches the router managing 1.0.0.0/8, that router will know how to get to 1.0.1.0/24 or 1.0.2.0/24. Finally, your home router does not even need to know the address of the router of 1.0.0.0/8. It will just blindly send all your packets to a router on your home ISP assuming that this larger router will know how to get to 1.0.0.0/8 (this is what's typically called the default route/gw).

Here's a way to think about this. Think about being on a train station and having to get from city A to B. When you look at the map at the train station in city A it will tell you what trains to take to get to city B. However, that map will not tell you how to get you to your final destination in city B. However, in city B you can probably find a more detailed map that will tell you how to get you to your final destination within city B, but you don't need to have access to that map while still in city A.