IP multicast aims to deliver the same packet to multiple receivers. That is essentially it. In its early days it was termed “selective broadcast” because the model was to open a selective path through the IP network - rather than open the entire network for a “broadcast” (which would congest networks where the data wasn't wanted) - and to then transmit the packet once on the wire, but at a point where all those nodes that did want to receive the packet were listening and received the transmission “as if” it had been broadcast. This essentially meant that you could indefinitely increase the receiver numbers until the unlikely time (on the Internet at least) that all nodes wanted to receive that transmission, at which point the multicast would “be” a broadcast.
One of the challenges is that not all packet forwarding in IP networks is carried out in the same way at all points.
Between nodes on a LAN, where computers are directly connected to each other through a local switch or hub, multicasting very much is possible. Since the packets are not being routed - but simply switched - a receiver simply registers with the switch by listening to it, and when the multicast sender transmits, then - without any extra effort - the switch will allow all listeners to receive that transmitted packet.
Routers connect different network segments together, such as LANs to LANs or LANs to ISPs.
Once the multicast LAN segment connects to a router, that router has to make a routing decision, acting as an “agent” for any upstream receivers, to join the multicast or not. The intelligence has to be introduced, allowing the router to know when to forward the packet on to another network segment.