Let's start with some definitions:
Vector: A list of values that are all contained under the same "roof" so to speak. For instance, the location of an object in 3D space is a vector of 3 values (the $X$, $Y$ and $Z$ location of that object).
All Vectors in blender are by definition lists of 3 values, since that's the most common and useful type in a 3D program, but in math a vector can have any number of values.
Dot Product: The dot product of two vectors is the sum of multiplications of each pair of corresponding elements from both vectors. Example:
$$
\begin{aligned}
\vec{V_1} &= (1,2,5)\\
\vec{V_2} &= (2,1,3)\\
\vec{V_1} \cdot \vec{V_2} &= {V_{1}}_{x}{V_{2}}_{x}+{V_{1}}_{y}{V_{2}}_{y} +{V_{1}}_{z}{V_{2}}_{z}\\
&= 1\cdot2+2\cdot1+5\cdot 3\\
&= 2 + 2 + 15 = 19
\end{aligned}
$$
The particle velocity example:
In your original question, we see a dot product of the particle velocity with itself. The velocity is an XYZ vector since it has components in all 3 axes.
In a smoke or fire simulation, some particles are going right ($+X$), some left ($-X$), some forward ($+Y$), some backward ($-Y$), but almost all are going up ($+Z$). The velocity data reflects this. If a particle is going straight up, its velocity will be, for instance, $(0,0,1)$. If it's going left, forward and up, its velocity can be something like $(-1,1,1)$.
When you calculate a dot product of the velocity with itself, you cancel out the negative values (negative values multiplied with themselves become positive), so this is a quick way to convert the velocity gradient over all particles from a 3D XYZ gradient to a mostly 2D gradient along the Z axis.
And now the velocity's dot product with itself:
Another Example: Parametric Geometry Input Node:
The Cycles Input --> Geometry node's Parametric option that's used here, generates a Vector (RGB) value for each point on the object's surface (image above). Each color channel's at each point has a value between 0 and 1.
If you calculate the sum of each point's RGB values ($R+G+B$), you'll get a single (scalar) value (top image in the figure below) that ranges between 0 (R=0,G=0,B=0) and 3 (R=1,G=1,B=1).
This is the same as the dot product of each RGB value and a Vector of $(1,1,1)$ (2nd Image in the figure below).
And eventually, if you calculate the dot product of the parametric RGB with itself, you essentially multiply each color with itself ($RR + BB + GG$) in each surface point (3rd Image in the figure above).
In this case it darkens the image significantly, because any value below 1 that's multiplied with itself produced a smaller number/value.