The first half of white's move is forced - d8. Then white has a choice of knight, bishop, rook or queen. Black has two threats which white must parry to get a draw. The first is to play Bf4 and then move the king out of the way to deliver checkmate. The second is to take the white h pawn and then queen the black h pawn.
Let's look at what happens if white chooses a queen.
[fen "8/3P4/3b4/8/8/1p2k2p/1Pp4P/2K5 w - - 0 1"]
1. d8=Q Bf4 {threatening mate} 2. Qd2 Kf3+ 3. Qxf4 Kxf4 4.Kd2 Kf3 5. Kc1 {the white king has to stop the c pawn queening} Kg2 6. Kd2 Kxh2 {and the h pawn is going to queen}
Can white draw by choosing a knight?
[fen "8/3P4/3b4/8/8/1p2k2p/1Pp4P/2K5 w - - 0 1"]
1. d8=N Bf4 {threatening mate} 2. Ne6 Bxh2 {now going to threaten to queen the h pawn} 3. Ng5 Ke2 {threatening mate again} 4. Nxh3 {taking the deadly h pawn and stopping the mate!} Ke1 {putting white into zugzwang} 5. Ng1 Bf4#
The problem was the knight couldn't lose a move whereas the bishop could. How about if white chooses a bishop?
[fen "8/3P4/3b4/8/8/1p2k2p/1Pp4P/2K5 w - - 0 1"]
1. d8=B Bxh2 2. Bb6+ Ke2 3. Bc7 {inviting stalemate by BxB} Bg1 4. Bb6 {asking for stalemate again} h2 5. Bf2 h1=Q 6. Bg3 Be3#
That just leaves the rook. The advantage the rook has over the queen and bishop is that it can parry Bf4 mate threats by Rd2. Then when the king moves out of the way white is stalemated because the rook can't take the bishop. Furthermore if white can play Rd3 then that threatens the black b3 pawn which frees the white king to take on c2. Let's see how that could go.
[fen "8/3P4/3b4/8/8/1p2k2p/1Pp4P/2K5 w - - 0 1"]
1. d8=R Bf4 {threatening mate} 2. Rd2 {blocking the threat} Be5 (2...Kf3= {stalemate}) 3. Rd3+ Kf2 (3...Kxd3= {stalemate again}) 4. Rxb3 Kg2 5. Kxc2 Kxh2 6. Rb7 Kg2 7. Rh7 h2 8. b4 h1=Q 9. Rxh1 Kxh1
So, those two ideas for white are enough to guarantee the draw.