UML (Unified Modeling Language) is a standardized modeling language used to visualize, specify, construct, and document software systems. It uses mainly graphical notations to express object-oriented analysis and design, simplifying the complex process of software design. Some key reasons to use UML include that it uses clear graphical notation rather than natural language, helps acquire an overall view of a system, and is not dependent on any one programming language. Common UML diagrams include use case diagrams, class diagrams, sequence diagrams, collaboration diagrams, and state diagrams. UML modeling tools allow creating and managing UML diagrams and have become an important part of modern software design.