UML is a graphical modeling language used to visualize software designs. It has two main types of diagrams - structural diagrams that show static relationships, and behavioral diagrams that show dynamic interactions. UML was created in the 1990s and standardized in 2005. It helps designers see the big picture of a project without code-level details through drawing classes, objects, and their relationships. Common diagrams include class, sequence, and use case diagrams.