What is the danger in allowing ping?

A tech republic q/a was pointed out to me recently that asked about the dangers inherent in allowing internal hosts to ping the hosts on the internet.
One user responded that the primary reason to not allow ping is to avoid virus attacks. I wouldn’t consider this a primary reason. It is something to consider though. Worms from several years ago would ping first and then probe. So if you don’t allow ping, then the worm wouldn’t spread through your equipment. Also the pinging itself ran the risk of a denial of service. So you get two benefits in blocking.
Another answer isn’t worth repeating. It basically advises removing the gateway address on clients so NO ONE can get to the internet. Yep, that sounds like security through turning off the machine and burying it in cement.
The next answer advises the original poster to use a default deny rule, remove telnet from workstations!!! and verify that outsiders cant ping in.
I don’t feel like any of these answers adequately answered the problem of ping. Let me start by saying that ping is a necessary troubleshooting tool.
When I saw the post title, I expected to be reading about ICMPTunnel. This is where a hacker, or just someone who wants around your firewall and monitoring capability sends the traffic out within ICMP packets. That alone isn’t a reason to block ping because they could do the same thing across any open outbound internet port.
Next, I figured the thread might be about the dangers of allowing ICMP to hosts on the DMZ. People on the internet can learn much about a system by looking at how it responds to various ICMP commands.
The bottom line is to know your firewall config. The original poster was surprised to find he could ping. You should never be surprised by your own configuration. ICMP has many configuration opens. Some are an important part of internet communication and others might as well be closed off.