What is the significance of a matrix times its transpose? I am trying to understand how a Kalman Filter works. (This is an algorithm used in robotics for fusing multiple, noisy sensor readings with a linear model of the robot's motion to try to produce an improved state estimation.)
Part of the algorithm involves this equation:
$S = HPH^T + R$
Where $P$ is the covariance matrix representing the noise in the state estimate, and $H$ is a matrix which maps the robot's state onto the sensor measurements which would imply that state. $R$ is the covariance matrix of the noise in the sensor data.
What is the significance of multiplying by both $H$ and $H^T$?
 A: The goal of multiplying a covariance matrix by another matrix and its transpose is to apply a linear transformation to the original covariance matrix.
(A covariance matrix is a multivariate Gaussian distribution. These slides might be a helpful further read.)
You define the computation of the innovation covariance of a Kalman Filter ($S = H P H^T + R$) very well in your question.
In a simple robotics example:

*

*$P$ is typically the uncertainty of the robot pose expressed in the world reference frame.

*$R$ is the the modeled sensor noise expressed in the sensor reference frame.

So what this equation does is (i) project the uncertainty on the robot pose to put it in the reference frame of the sensor and (ii) add the modeled sensor noise. Note that $S$ is also referred with respect to the sensor frame.
The prediction step of the Kalman Filter does something very similar: $P_k = F P_{k-1} F^T + Q$. Here, $F$ is the system model (typically a motion model), so this equation just projects the pose uncertainty in the last time stamp $k-1$ to the current $k$.
If you provide an example, we will be able to better visualize what these equations do to the uncertainties.
