The ROW() function, when entered into a cell with no arguments with return the the row number of that cell. In this case, the first instance of the formula is in cell D6 so, ROW() returns 6 inside the formula in D6.
We want to start with 1, however, so we need to subtract 5, which yields 1.
As the formula is copied down column D, ROW() keeps returning the current row number, and we keep subtracting 5 to "normalize" the result back to a 1-based scale:
=$B$6*1 // D6 =$B$6*2 // D7 =$B$6*3 // D8 etc
If you are copying a formula across columns, you can use COLUMN() function the same way.
Note that you are free to use the result of COLUMN() or ROW() any way you like in the formula. Both functions return a number, so you can apply them in a formula them just like you would use any number.