I disagree with the general notion that multicast is not useful except for live content.
Oh, there are all SORTS of things it would be well-suited for. Live content is just the lowest hanging fruit.
WINDOWS UPDATES Most of us have some number of Windows machines on our networks, probably a large number. These updates are pervasive, and yet they are largely delivered to end-users as unicast downloads. If we all had mcast, the latest and greatest Windows Update would probably be available via mcast, and your PC would join the appropriate group, receive the update, and be able to install it, without any unicast traffic at all. There may be several groups for users who have different access network speeds, and your machine may need to fall-back to unicast to retrieve last week's updates or get packets/chunks that it missed, but this is far from difficult to implement.
As anyone can send packets to a multicast group, I would be very wary of such a thing. However, notification that an update is available could be multicast which would greatly reduce polling.
I might receive the first few minutes of my on-demand movie by unicast, and "catch up" to a high-speed multicast stream which repeatedly "plays" the same movie, faster than the real-time data rate, for users with sufficient access speed to download it. My set-top-box would transition from unicast to cached data it received via mcast, resulting in a large bandwidth savings for popular titles.
Interesting notion assuming you decided to watch shortly enough into the movie to do this. Another alternative would be to simply have regularly scheduled show times ... but that isn't exactly "on demand" but a "your movie will begin in 5 minutes" while additional users are lined up on a multicast group would still have some potential value. Or maybe even some hybrid of the two approaches. Generally, any content that might be of interest to multiple users at the same time can generally take advantage of multicast, even if it is only a notification of something. Say twitter used a multicast group to broadcast tweets with the most popular hashtags. A large number of clients could pick up those tweets without having to poll for them. Others would catch up using the conventional poll but it would have the potential to greatly reduce the amount of information that would transfer on such polls. There is a security aspect to such things, though, as how do you know the content is from a trusted source? That is the bugaboo with multicast. It needs to be information that isn't going to hurt anything if it is bogus. Also, it opens up a DoS possibility with noise traffic sent to the multicast group.