, ... ] prints the , followed by a newline (line feed).
Print sends its output to the channel $Output.
Print uses OutputForm as the default format type.
Print concatenates the output from each together, effectively using SequenceForm.
You can arrange to have expressions on several lines by using ColumnForm.
See the Mathematica book: Section 1.7.3, Section 2.8.18.
See also: CellPrint, Message, Put, Write.
The output of Print is not a string.
Evaluating this won't make p into a string.
p = Null