1. Non-profit is just a tax status.
2. One thinks of non-profits serving the poor, with for-profits serving the affluent.
On (1), I can see it for hospitals. When I go to a hospital, I do not know whether it is for-profit or non-profit. Of course, either way, there is a lot of regulation, and you can argue that you are dealing with something close to a public utility.
On (2), I am not so sure. For example, my guess is that the average household income for parents of students at the University of Maryland is above that of many for-profit universities. On the other hand, my guess is that the most profitable part of the for-profit education industry is the segment that serves affluent customers--I am thinking of the companies that do "test prep" for SAT's, LSAT's, etc.
I do get the point that if you are young and idealistic and want your work to have a goal of alleviating poverty, working for a typical business may seem unlikely to relate to your objective. But it's hard to know. Has poverty in India and China been reduced more by the action of aid agencies or by the fact that those countries are now embedded in the supply chains of U.S. service and manufacturing firms?
Non-profits provide services that are not sustainable in a for-profit format. This does not mean that the non-profit is waste, or that it is a subsidy for some wealthy person's vanity project, though some non-profits do reflect that desire. Rather, the customers simply can't pay for what might benefit them and "we" (the donors) have decided that these people need the service. The non-profit format is a way to handle donations to third parties in an organized and semi-public fashion.
...Non-profit charities have existed for centuries, which suggests that the organizational form has something going for it. My hunch is that it's signalling. Not only in the Hanson "I do this because I care" sense, but as a commiment to a specific issue. The people who run the local church organization for recent Mexican migrants have to show that they won't bail in order to give shareholders a slightly higher return. Rather, by making their organization non-profit, they show an allegiance to a specific type of person, not their wallet.