Weight painted movement mesh is jagged when moving bones. How will I usually fix this?
I start with noticing that your images do not have severe deformation errors, even real arms get jagged and folded someway.
Anyway, here are some tecniques for improving the joints:
Create a geometry in which regular edge loops are present in every joint, just before them and just after them, as in photo:


Then you can go in edit mode, select the edge loop (Alt Right Click on an edge) on the joint, in vertex group tab assign 0.5 to the first bone's vertex group, and the same to the second bone's vertex group.

Then select the near edge loop, and weight it 0.75-0.25.
You can add more edge loops, I.E. 0.1-0.9, 0.2-0.8, 0.3-0.7, etc...:
more loops degrading, better the result.

All vertex should have a total weight of 1.
Some riggers add a third bone on the joint, with a copy rotation constraint with half influence: if the second bone rotates 90 degrees, the third bone rotates 45 Deg.
The edge loop on the joint can be weighted 0.33-0.33-0.33, you can guess the others.

Don't forget to put the subdivision surface modifier UNDER the armature modifier in your modifiers stack!

Anyway good weighting is an art that can be improved with practice.

Happy blending