Because the dot operator does element-wise multiplication (and division and exponentiation). These are termed array operations in MATLAB.
If you do not use the dot operator, you are using standard linear algebra matrix operations, and those require that you follow the rules for array operations from linear algebra.
array1 = [1,2,3];
array2 = [4,5,6];
Result1 = array1' * array2;
Result2 = array1 * array2';
Result3 = array1 .* array2;
Best Answer