Well, we do use Routers to seperate the Subnets once we've split them. All the Subnet is, for example:
Network IP: 10.23.4.5
Subnet Mask: 255.240.0.0 (Class A)
So now when you convert all the decimals to binary, the Router for example, will perform a boolean logic AND on the Binary values which will give out the Network address of that particular subnet. When routing across the net, Routers know it's a class A IP and therefore don't care about the other 3 octets.
As soon as you Subnet you split the network - you understand that, Switches and Routers now know on which port the particular Network is, for example it knows 10.0.0.0 is on Interface 0. As Chris pointed out in his guide that you cannot speak to one another, once subnetted, without a Router to route the packet to its correct destination.
If you weren't to Subnet then you will have 16 or so million hosts in a class A IP scenario. All on the same broadcast domain and causing alot of unneeded traffic through these broadcasts, which may be generated by many things such as collisions.
Subnetting makes the whole network infrastructure alot easier.
*Rubs eyes* My apologies if this is not specific enough. I blame it on the early morning - who wouldn't?