I wonder why p columns are aligned at the bottom and b columns aligned at the top?

created with this code:
\begin{tabular}{|p{0.3\linewidth}|m{0.3\linewidth}|b{0.3\linewidth}|}
\hline
\centering header p &
\centering header m &
\centering header b \tabularnewline
\hline
text which is considerably longer than the width of the column &
text which is considerably longer than the width of the column &
text which is considerably longer than the width of the column
\tabularnewline
\hline
\end{tabular}

