R2 and R4 are pim neighbours. When there is no explicit dr-priority value configured on PIM neighbours, the priority value is equal on both (I think the default is 1). The DR is then elected based on IP address (highest wins).
Its the job of the DR to encapsulate multicast messages to the RP in a PIM-SM setup. Most important (and relevant in this case) is the SOURCE REGISTER message to the RP.
Here R4 has the highest IP address and will be DR by default. The DR cannot send a register message for itself. Since the task asks us to configure R4 to send traffic to the group address, we have to configure R4 to send a REGISTER message to DR (or RP - whichever is metrically closer). So we force it to concede the DR status to R2 by applying the ip pim dr-priority 255 command on R2's interface.
You may not come accross this in real-world scenarios - its only because you are testing your Multicast shared tree using Routers/router interfaces that this was necessary.
Hope this explains it to you.
**edited 21/11/08 - The DR will send a REGISTER msg (rather than a JOIN), since R4 was pinging the group on R1. ie R4 source, R1 is Receiver. But the logic remain same. Cheers.