One of the primary reasons is that in large networks (we're talking hundreds or thousands of hosts that need to be connected to one another) administration and network load can become a huge issue. Besides normal unicast (point a to point b) communications, without you even realizing it a computer or other network device will frequently send out broadcast traffic in the form of Address Resolution Protocol (ARP), DHCP (Dynamic Host Configuration Protocol), and routing table updates. Broadcasts are sent to every single other node on any given network. As such you can imagine the amount of constant traffic there would be in a network of 1000 hosts.
Another reason to implement subnetworking would be for security. In any local area network, traffic can be picked up by any individual with a little technical know-how, and if its unencrypted (like LAN traffic tends to be) then they can read what it says, too. This can be an issue in a lot of ways on large networks. You wouldn't want regular employees to be able to pick up information that the Human Resources department is passing, nor would you want college students to be able to access the traffic of the administration. Subnetworking based on access control ensures no one snoops in on something they're not supposed to.
The last major reason subnetworking is used is if network protocols or network equipment in use, are incompatible. Remember, you cannot use Ethernet, Token Ring, ATM, FDDI, or any other two dissimilar networking protocols on the same network. These must be used on separate subnets and connected through a router (a router is capable of transmitting traffic between two dissimilar networks. Similar network traffic doesn't require the use of a router, but rather a network switch).
Now that we understand why subnetworking is used, we can go into how it works and how to use it. There is a little bit of math and binary conversion involved, so brace yourself for the next article in this series!