React Hooks allow functional components to use state and other React features that were previously only available in class components. Hooks solve problems like wrapper hell and make it easier to share logic between components. Common Hooks include useState for managing local state, useEffect for lifecycle methods, useContext for consuming context, and useMemo for memoization. Hooks must follow some rules like being called at the top level and only used in functional components.