I've written a shorter version of that post (focusing on variance exclusively) here
The TL,DRs:
Variance (and subtyping) is related to "being able to shrink lifetime( parameter)s" – or in some cases (contravariance), expanding lifetime( parameter)s.
The interaction between PhantomData and dropck only matters when an unsafe impl<#[may_dangle] …> is used, so it's more of a theoretical curiosity more than a knowledge with actual practical usages