Could you elaborate on why Redux has become such a popular choice among developers working with JavaScript and its ecosystem? What specific features or advantages does it offer that have contributed to its widespread adoption? How does it compare to other state management libraries and what makes it stand out? Additionally, are there any potential drawbacks or limitations to using Redux that developers should be aware of?