An ATM, or automated teller machine, allows customers to perform banking transactions without a teller. It uses a card and PIN to verify identity and then allows withdrawals, deposits, transfers, and account balances. UML modeling is used to design ATM systems through use case diagrams, class diagrams, state diagrams, and sequence diagrams to show interactions between objects over time. This ensures the system meets requirements and can be effectively built.