I think of an exogenous variable is one that affects, but isn’t affected by, whatever variable you’re studying. So for instance, if you were studying the population dynamics of jackalopes, weather variables would be exogenous. Weather might affect jackalope birth and death rates for various reasons, but jackalope births and deaths don’t affect the weather.
But sometimes, researchers treat an endogenous variable–one that affects, and is affected by, the variable of interest–as if it were exogenous. That can be for all sorts of reasons, some of them good (e.g., separation of timescales) and others less good (e.g., tradition). But whatever the reason, it creates a potential research opportunity: endogenize the exogenous. Take the variable that everyone’s been treating as exogenous, and treat it as endogenous instead.
Studying a previously-unstudied feedback loop–variable A affects, and is affected by, variable B–often is a good idea for a research project. Dynamical systems with feedback loops have different, richer, and more interesting dynamics than those without feedback loops. Treating variable A as endogenous rather than exogenous is likely to generate new and interesting predictions about the dynamics of variable B. Predictions about even very basic matters, like “how are A and B correlated over time and space?”, are likely to change if you make both variables endogenous.
A closely-related trick is to take some quantity that typically gets treated as a constant, and turn it into an (endogenous) variable. That’s what a lot of eco-evolutionary dynamics comes down to: taking parameters that typically are treated as (exogenously) fixed constants in purely ecological models, and allowing those parameters to evolve via natural selection. Or conversely, taking parameters that evolutionary models typically treat as exogenously determined (e.g., selection coefficients, population sizes) and endogenizing them by modeling the ecological feedbacks that determine their values.
In order for endogenizing the exogenous to be a good idea for a research project, you need to have a good reason for doing so. For instance, if some people have studied the effect of variable A on B (for good reasons), and others have studied the effect of B on A (for other good reasons), then that’s a great opportunity for somebody to synthesize those two lines of research into a new line of research on A-B feedbacks. Conversely, just taking some random parameter that ordinarily gets treated as a constant and turning it into a variable isn’t necessarily a very good idea for a research project. Everyone knows the world is complicated, and every model/hypothesis/prediction/gut feeling/whatever assumes away some of those complications. We can’t study everything at once and it would be silly to try. So asking “what if we treat this parameter as a variable instead?” risks coming off as asking “What if we just add some arbitrary complications to our model of variable B, purely for the sake of making our model more complicated?”