I've downloaded your file, and unfortunately, the problem is a fairly difficult one to solve. I'm not sure anyone can explain the solution well in a single answer, so the best I can do is point you in the right direction to look for solutions.
If you look at your model, the mesh around the elbow looks like this
In blender this is known as bad topology because there is no easy way for the mesh to deform as you move the bones. That's why you get the results you do, in part.
good topology for a mesh for the area around a bending bone would look more like
Then when you bend the bone, the mesh will deform "naturally".
To fix your model, you would need to learn how to retopologize. That is, you need to learn how to transform your existing mesh into one with good topology while still preserving the shape.
You probably have a second class of problems, because automatic weight painting doesn't do a very good job of assigning weights to bad topology. So once you fix the topology of the model, you might also have to do weight painting to fix how the bones relate to the model mesh. In my example, I didn't use automatic weight painting but assigned the vertex groups specifically.
So, in summary you need to learn how to improve the way your mesh is formed, and you need to learn how to adjust the weights created by automatic weight painting.
Both of those skills would require book chapters to describe and neither would fit nicely into a stack exchange answer, but those terms will give you a way to look for tutorials online.