What is the Difference Between matmul and dot

From the Documentation i get :
matmul differs from dot in two important ways.

  1. Multiplication by scalars is not allowed.
  2. Stacks of matrices are broadcast together as if the matrices were elements.

https://docs.scipy.org/doc/numpy-1.15.1/reference/generated/numpy.matmul.html

Cannot wrap my head around how in 2d they are the same and in 3d matmul will not work.
Any real world example or use case?
Also there is a warning about the function being “preliminary” is this not included in the Numpy GA? what are we supposed to use and rely on dot or matmul?

Regards,
Siddharth