|Wow, a lot of interesting comments in here about this. |
First and foremost, ICMP is used as a general troubleshooting tool by network admins or by many network management systems to monitor whether a device is up or down.
It is also used as a mapping tool by attackers or as a means of an attack in itself. Disabling it does nothing more than mitigate (to a degree) the threat of what can be accomplished with ICMP.
By turning off ICMP, It does not 'hide' your device on the internet. It does not protect you from the 65,000 other ports which could potentially be open on your device (router, firewall, PC etc...).
While attackers may scan for active IP's, many actually target well known ports at all IP's e.g. tcp/1433 (SQL) or 21 (FTP) and see what sticks. Due to many people hardening their edge devices and one way of doing so is to control ICMP messages, a blind ICMP scan, while still common, isn't necessarily the primary way attackers map you to the world.