Stands for "Internet Control Message Protocol." When information is transferred over the Internet, computer systems send and receive data using the TCP/IP protocol. If there is a problem with the connection, error and status messages regarding the connection are sent using ICMP, which is part of the Internet protocol.
When one computer connects to another system over the Internet (such as a home computer connecting to a Web server to view a website), it may seem like a quick and easy process. While the connection may take place in a matter of seconds, there are often many separate connections that must happen in order for the computers to successfully communicate with each other. In fact, if you were to trace all the steps of an Internet connection using a traceroute command, it might surprise you that Internet connections are successful as often as they are. This is because for every "hop" along the way, the network must be functional and able to accept requests from your computer.
In cases where there is a problem with the connection, ICMP can send back codes to your system explaining why a connection failed. These may be messages such as, "Network unreachable" for a system that is down, or "Access denied" for a secure, password-protected system. ICMP may also provide routing suggestions to help bypass unresponsive systems. While ICMP can send a variety of different messages, most are never seen by the user. Even if you do receive an error message, the software you are using, such as a Web browser, has most likely already translated the message into simple (and hopefully less technical) language you can understand.