The reasons behind sub-networking date back to the early specification of IP - where just a few sites were running on Class A network numbers, which allow for millions of connected hosts.
It is obviously a huge traffic and administration problem if all IP computers at a large site need to be connected to the same network: trying to manage such a huge beast would be a nightmare and the network would (almost certainly) collapse under the load of its own traffic (saturate).
Enter sub-networking: the A class IP network address can be split up to allow its distribution across several (if not many) separate networks. The management of each separate network can easily be delegated as well.
This allows small, manageable networks to be established - quite possibly using different networking technologies. Remember, you cannot mix Ethernet, Token Ring, FDDI, ATM etc on the same physical network - they can be interconnected, however!
Other reasons for sub-networking are:-
Physical site layout can create restrictions (cable run lengths) in terms of the how the physical infrastructure can be connected, requiring multiple networks. Sub-networking allows this to be done in an IP environment using a single IP network number.
This is in fact now very commonly done by ISPs who wish to give their permanently connected clients with local networks static IP numbers.
Network traffic is sufficiently high to be causing significant slow downs. By splitting the network up using subnetworks, traffic that is local to a network segment can be kept local - reducing overall traffic and speeding up network connectivity without requiring more actual network bandwidth;
Security requirements may well dictate that different classes of users do not share the same network - as traffic on a network can always be intercepted by a knowledgeable user. Sub-networking provides a way to keep the marketing department from snooping on the R & D network traffic (or students from snooping on the administration network)!
You have equipment which uses incompatible networking technologies and need to interconnect them (as mentioned above).