Why is Redux often chosen as the go-to state management library for React applications, even though React itself comes with its own state management capabilities? What specific benefits does Redux offer that React's built-in state management might lack? How does Redux's approach to state management differ from React's, and why might that be a better fit for certain types of applications?