in short I think someone who manages a device on the internet that forwards packets (router) and have knowledge that device is dropping data packets for whatever reason may it be resource saturation or a fault is been irresponsible if they assuming tcp/ip will handle it fine. (not to mention not everything uses tcp).
Aside from toy implementations (I think somebody made simple TCP/IP work on a Commodore 64 for example) everybody has congestion management algorithms in their TCP/IP implementation to allow them to get reasonably good transfer rates on the Internet.
Maybe that seems contradictory, why would you need congestion management to go fast but not to go slowly like a Commodore 64? To actually get the high transfer rates we need to avoid
exceeding the link capacity at the narrowest bottleneck so that the packets we transmit are actually received. We won't need the Internet to demonstrate. Suppose that I have a nice fast PC and a 1000baseT switched Ethernet LAN, in another office a friend has an older Mac with 100baseT connected to the LAN. I have a hypothetical TCP/IP without congestion management, let us call it Slough (as a contrast to names like Vegas or Reno which are used for real algorithms).
I want to transfer a file to the Mac. Slough on my PC just sends all the packets with the file data in as quickly as possible over its Ethernet. Obviously 1Gbps will not fit into 100Mbps and so the switch or router between the PC and Mac
must drop 90% of my packets, even with say 1MB of RAM just for buffering this nonsense, it will fill almost immediately and have to drop further packets. Because Slough has no congestion management it doesn't do anything about that - eventually the fact that most packets weren't received gets back to the sender (because they aren't ACKed), and Slough just retransmits them in the same fashion continuing at 1Gbps. Although Slough saturates my link at 1Gbps, the actual data transfer rate of the Slough TCP/IP will drop to a trickle, with most packets being transmitted many times before finally arriving. Even if the switch has a huge buffer, that just confuses the issue, with some packets being received after they've been retransmitted or arriving out of order, reducing transfer speeds even more.
So, now hopefully you see that congestion management is effectively mandatory in TCP/IP, and thus why yes, the right thing (not to mention eventually the only thing) for a router to do about congestion is to drop packets. And in practice congestion will happen. Some ISPs aim to avoid it within the systems under their control, but that's
aim and
under their control not
promise and
across the entire Internet.
Other Internet protocols fall roughly into two camps. Very lightweight low bandwidth protocols like DNS that should never saturate any useful link and protocols which have their own congestion management usually cut-and-paste from TCP.