estrick: White's resignation seems premature. But Black does seem to have forcing lines that lead to a win. If 22. Qxg5 (threatening Qh6 & Qh7#)
Then, 22 ...Rxb2 threatening Qxc2#.
If 23. Qd2 or Rd2, 23 ...Rfb8 looks good. E.g.,
23. Rd2 Rfb8, 24. Kd1 Rb1+, 25. Ke2 Qc4+, Rd3 Rxc2+, 26. Rd2 Qc4+, 27. Rd3 R1/b2#
So, 23. Kxb2 Rb8+, 24. Kc1 (Ka1 Qb3#)
...Ba4, (threatening Qxc2#)
25. Rd2 (If 25. Qd2, then ...Qa3#, and if 25. Kd2, then ...Qxc2+, 26. Ke1 Qxd1#)
25 ...Qc3 (threatening Qa1#)
26. Kd1 Rb1+, 27. Ke2 Bb5#, 28. Rd3
A) 28 ...Rxh1, 29. Qh6 [threatening mate on both h7 and f8] 29...Qxc2+, 30. Kf3 Qxd3+, 31. Kg4 [if Kf4, then Qd2+]
...Qf5+, 32. Kg3 [if Kh4, then Rxh2+],
...Qxe5+, 33. Kg4 [if Kf3, then Be2#, and if Kh3, then Rxh2+] 33 ...Be2+, 34. f3 Bxf3+, 35. Kxf3 [if gxf3, then ...Rg1+, 36. Kh3 Qf5+, 37. Kh4 Qxf6+, 38. Kh3 Qxf3+, followed by mate]
35 ...Rf1+, 36. Kg4 Qf5+, 37. Kh4 Qf2+, 38. Kg4 [if Kh3, then Qe3+, and if Kg5, Qxf6+]
...Qxg2+, 39. Kh4 Rf4+, etc.
B) 28 ...Rb2, 29. Rhd1 [29. Qh7 or Rc1, then 29 ...Qxd3+ followed by Qe2#]
29 ...Rxc2+, 30. Kf3 [if R1/d2 or Qd2, then ...Qxd3 followed by Qf1#]
30 ...Bxd3, 31. Qh6 Bf5+, 32. Kf4 Rf2+, 33. Kg5 Rxg2+, 34. Ng4 [ 34. Kh4 Qh3#, or Kf4 Qe3#]
34 ...Rxg4+, 35. Kf6 Qc6+, 36. Kxf7 Qe6+, 37. Kf8 Qg8+, 38. Ke7 Qg7+, and Black's extra piece should eventually win.