CG IT is correct. ip address' are divided into to parts. A network id and a host id. As an example:
ip address: 192.168.1.100
subnet mask: 255.255.0.0
In that example the network id is 192.168.0.0
The host id is the 1.100
The mask filters out the network so that tcp/ip can decide if the packets being sent are supposed to go to the local or a remote subnet. If the network id does not match the local machine network id then the data is sent to the default gateway (router). Two different subnets can not communicate with each other without routing.
This class B example leaves 65,534 hosts. Imagine a broadcast packet to that many hosts. Or, imagine a company with many locations. They could borrow bits from the host id octets to create a custom subnet mask thus creating multiple subnets from one larger one. It might provide for better traffic management or just better design.
With that said, with 40 hosts I see no reason for it. Putting your servers on their own subnet would also require you setup some routing. If this were my job I would not recomend it.
Here are some links for you:
http://www.tcpipguide.com/free/t_IPCustomSubnetMasks.htm
http://www.swcp.com/~jgentry/topo/subnet.htm
Good Luck,
razz