The 1089 puzzle

Take any three digit number - 345 say. Call it N Reverse the digits to get 543. Call this number Nreverse Find the difference between the two, i.e., |N - Nreverse| - in this case 198. Call this difference D reverse the digits of the difference - in this case 891. Call this number Dreverse. Add the difference to the reverse of the difference, i.e., construct [D + Dreverse]- you get 1089. Why does the sum of the difference and the reverse of the difference, i.e., [D + Dreverse] always equal 1089, no matter what number you start with? How many possible examples can this applet generate?