The potential for a discovered attack is obvious enough: the e4 knight will give check by moving to f6; then White’s queen will take Black’s queen. But now inspect both targets in search of any obstacles to the idea's smooth execution. Black’s queen is guarded by his knight. You might like to deal with this by capturing the knight, of course, but how? Consider all the White pieces. The rook on d1 is aimed at the bothersome knight; and the knight is next to Black’s king, which also is suggestive. Play with sequences that would allow the rook to help. First move the bishop out of its way violently, with 1. BxN, g7xB. Now move order becomes important:
If White starts with 2. RxN+, he takes out the queen's guard but ruins the discovery he is planning: Black plays KxR, and now White's 3. Nxf6 would no longer give check. So White should instead play 2. Nxf6+. Then Black takes the knight with 2. …BxN; and now rather than 3. QxQ, White plays 3. RxN+. The priority of check requires Black to attend to this threat to his king while the threat of QxQ hangs in the background; after KxR (or RxR or BxR), the guardian of Black’s queen is gone and White takes it on the next move. The point: the queen's guard must be taken out late, not early, if the structure of the discovery is to be kept in place.
Notice that after White plays QxQ at the end, Black now has a remaining capture: BxNg5. You therefore must be careful to keep track of your gains and losses. White has gained two knights and lost two knights. He also has lost a bishop and a rook, but in return he has won a queen and two pawns—a good trade.
Another, simpler way to look at this position is that White just plays the discovery NxN+, but (a) first sets it up with a preliminary capture (BxN) and then (b) interposes a checking move (RxN+) in the middle of it. Since checks require forced replies, it sometimes is possible to sneak them into a sequence like this with no loss of time. But White can't slip in that capture until he gets his own bishop off the d-file; that's why we have (a) here as well as (b).