What is UML?
The easiest answer to that question is a quote:
“The UML is the standard language for specifying, visualizing, constructing, and documenting all the artifacts of a software system.”
The more complex answer requires a short history lesson, because the UML is really a synthesis of several notations by Grady Booch, Jim Rumbaugh, Ivar Jacobson and many others.
The Three Amigos

Back in the late 80s, when I started modeling, there were many different methodologies. And each methodology had its own notations. The problem was that if different people were using different notations, somewhere along the line somebody had to do a translation. A lot of times, one symbol meant one thing in one notation, and something totally different in another notation.
In 1991, everybody started coming out with books. Grady Booch came out with his first edition. Ivar Jacobson came out with his, and Jim Rumbaugh came out with his OMT methodology. Each book had its strengths as well as its weaknesses. OMT was really strong in analysis, but weaker in design. The Booch methodology was stronger in design and weaker in analysis. And Ivar Jacobson’s Objectory was really good with user experience, which neither Booch nor OMT really
took into consideration back then.
Together with Jim Rumbaugh and Grady Booch at Rational Software in the 1990s, Jacobson worked to develop the approach to unified notation of models known as UML. The three toured extensively, and were billed as the "Three Amigos."