This all really depends on design of your service or topology. While I've never heard anything like that as "law", I could see why it would be inefficient.
If you are going to have two interfaces communicating in the same network/subnet, you might as well just put them in an etherchannel and not waste the additional IP address.
As to why they sell 4 NICs (or any number more than 1) on a single server really depends on the application running on it, but I can think of a couple reason.
- Etherchanneling/NIC teaming, redundancy is always a good thing. Sometimes just 1 additional port is enough, but maybe in the case of 4 someone is designing an ultra redundant service.
- Security, lots of people use multiple interfaces in different networks to create very secure bastion/jump/hop boxes.
- Software firewall/routing, there are a handful of examples of software packages or even operating systems that actually act as a router or more network centric security appliance. So multiple interfaces would be necessary for the device to participate in multiple physical LAN/WANs, again this would specifically depend on design. (if you're curious about this, go check out "Vyatta")
- And sometimes, that's just what it comes with. At a previous job we had some pretty heavy duty SQL databases that had 4 NICs, but we still only used one because we didn't need the others.
Those are the few I can think of.