Both manage the switching of multicast traffic:
Internet Group Management Protocol (IGMP) is the standard protocol to manage multicast transmissions passing to routed ports. One of the problems with IGMP is if a VLAN on a switch is set to 'receive' then all the workstations on that VLAN will get the multicast stream. Cisco Group Management Protocol (CGMP) is a Cisco proprietary protocol extension which controls the flow of multicast streams to individual VLAN members. This solves the above problem. IGMP must also be running on the router for CGMP to work.
I heard of an issue with CGMP not working properly with IGMPv3? Has anyone seen this problem?
HI qster, as kunaltyagi says, you cant run both igmv3 or cgmp, because both practically do the same stuff.
With igmpv3 and also igmp snooping enabled, there is no need for cgmp, mean that the switch is also inspecting the source multicast streams from host that join or leave the groups, and builds another table for multicast traffic. (the job cgmp in the past done between the router and the switch).
The advtanage, it takes less time for the switch to know when a multicast host joins or leave a group.