3 of 4 Added explanation

Pip, 22 20 + 1 = 21 bytes

Y_@?POgMgsX(MXy)-y.g

Takes delimiter and strings as command-line arguments. Uses -n flag to print output values on separate lines.

                      g is list of cmdline args; s is space (implicit)
    POg               Pop the first item from g (the delimiter)
 _@?                  Construct a lambda function that takes a string and returns
                         the index of the delimiter in it
       Mg             Map that function to each remaining item in g
Y                     Yank the resulting list of indices into the variable y

           (MXy)-y    Take the max of y minus each element in y
         sX           Space, repeated that many times...
                  .g  ... concatenated to each item in g
                      Print, newline-separated (implicit, -n flag)

And an example run:

C:\Users\dlosc> pip.py -ne Y_@?POgMgsX(MXy)-y.g , "Programming, Puzzles" "And, Code golf"
Programming, Puzzles
        And, Code golf