Where does White have the makings of a discovered attack? On the a3-f8 diagonal, where the bishop is masked by the rook—and otherwise would check Black’s king. Naturally White thinks about moving the rook out of the way, not only to do damage elsewhere but perhaps also to create checkmate by starting with a double check. How can the rook both unmask the bishop and give check itself? With Re8++ or with Rxf7++. Let’s consider each of them:
(a) Rxf7++ might seem more appealing because the rook is safe there, enjoying protection from the queen on d5. There is an additional point: with Rxf7++ the rook moves into the queen’s diagonal path, creating the kernel of another discovery—a potentially useful pattern. Follow the king’s path in response. It would have to go either to e8 or g8. If Ke8, White would have the new check Qd7#, with the queen and rook protecting each other and cutting off all the king’s flight squares.
Now suppose Black plays not Ke8 but Kg8. He would have completed the pattern for a discovered check—the new one that White started to create with Rxf7; the king would be on the same diagonal as White’s queen. So White moves his rook out of the way, unmasking another check, and once more he looks for ways the rook can add another check of its own. The simple Rf8 is mate, with the rook getting cover from the bishop on a3—another study in the importance of remembering how all of your pieces may bear on a position. Once again, too, we see how a piece can unmask one discovered check while also moving into position to unmask another, as White's rook does here.
(b)From the initial diagram we also can consider the double check Re8++. Black is forced to play KxR. White’s attack might now seem to be out of gas—if you overlook the rook on b1. But it can add decisively by sliding over to the open e-file and giving check. Notice that Black’s king has no safe moves; each of its flight squares is under attack. All Black can do is throw his bishop and then his queen into the White rook’s path, but they are useless interpositions; White plays RxB and then RxQ#.