Redux is a state management library for JavaScript apps that uses a single state tree shared by all components. It consists of a store containing the app's state, reducers that update the state in response to actions, and actions that are dispatched to the store to trigger state changes. Components connect to the store to read data and dispatch actions, keeping state changes centralized and predictable.