The main issue here deals with the bounding boxes associated with the contents. Some elements have different depths than others, most notably from text without descenders. For example, Hello has no depth, while spacing has some. The idea behind \strut is to ensure that \strut Hello and \strut spacing (for example) cover the same ground vertically.
A quick example of this is visible when you view this MWE:

\documentclass{article} \newcommand{\ddd}[1]{\fbox{\strut#1}\,\fbox{#1}}% Show the difference in bounding boxes \setlength{\fboxsep}{-\fboxrule}% For this example \begin{document} Letters: \ddd{a}\ \ddd{b}\ \ddd{p} \ddd{Q} \bigskip Words: \ddd{Hello}\ \ddd{spacing} \end{document} Is can be seen, the bounding boxes of these letters/words are vertically equivalent to one another, even though they each may have different descenders/ascenders. More specifically, \strut ensures at least a 70% \baselineskip in terms of height, and 30% \baselineskip in depth in the prevailing font. From \strutbox's definition (used by \strut) in the LaTeX kernel as part of \set@fontsize:
\setbox\strutbox\hbox{% \vrule\@height.7\baselineskip \@depth.3\baselineskip \@width\z@}% So, specific to your case, you can see that the \strut inside the \parbox increases the depth of the box, and therefore the skip from one line to the next (see the difference in the bounding boxes related to spacing above).
The second comparison to Hello is somewhat bizarre in your particular case. In the first you raise it based on height+depth (or \totalheight) while in the second you raise it based on depth only (\dp). Since Hello has height, the first raise is non-zero, while it is zero in the second, since Hello has zero depth.
Also see, as reference, How to keep a constant \baselineskip when using minipages (or \parboxes)?How to keep a constant \baselineskip when using minipages (or \parboxes)?