On the one had, you could solve a problem by acting directly. For example, buying some land, subdividing it and building affordable homes in response to the unaffordability of the general market.
Or, you could work to make it possible for someone else to do it. Build a better system. Or at least a patch for the current one.
I tend to lean towards the second option, for a few reasons:
There’s the chance for bigger impact. If the problem is such that you’re the only one (or one of a few) who can change it, you can have a bigger impact by increasing the number of people who can solve the problem than by solving it on your own, by changing the system.
You get the benefit of someone else working with you on the problem, and the more you have diverse perspective, skills, and networks involved in a problem, the more it will be refined and opened up to more people. Bigger impact, better system.
It’s harder. And I like a challenge.