How do you manage global state in a complex React application, and when would you choose the Context API over Redux?