ICMP is Internet Control Management Protocol and is used to check if the internet is working or not. It is used to PING an IP address to check if there is connectivity or not. ICMP supports unicast.
IGMP is Internet Group Management Protocol and supports multicasting. It is used for group packet transfer like DTS service where customers watch television through satellite connection.