The requirement of supernetting can be understood as follows :
When we are interested in using a particular class network , say class C network , but as we know no. of hosts that can be accomodated in a single class C network = 28 - 2 = 254(since no. of host bits in class C = 8 bits and 1st address of every network is netid and last address is direct broadcast address of the network).
And suppose we need 1016 addresses but that of class C , then we need to combine the networks of class C. This is done by increasing the no. of hosts by taking some bits from netid.So suppose in this case, initially we had 8 bits for hosts , now we need to have 10 bits for hosts , so we take away 2 bits from netid.
It is nothing but supernetting of 4 class C networks in this case.Supernetting is just opposite of subnetting.In subnetting we divide a network into smaller subnetworks when we need to less addresses and hence in order to avoid wastage of address we do subnetting and when we have shortage of address in a single network we combine the networks which is known as supernetting.