In UML and software architecture, components are modular units that interact through well-defined interfaces, meaning components can have interfaces. Additionally, dependencies can be defined between components to show relationships. Components and classes are distinct concepts, and components typically reside within a workspace.