Most of us agree that you ought to wade in to Singer's pond to save the drowning child, even if it'll ruin your best suit. A person's life is more important than a couple of hundred bucks. Yet we're reluctant to accept the implication that we should donate all that we can afford to the most effective international aid charities as we could thereby save many, many more lives. A one-off 'emergency rescue' is one thing; an ongoing (and practically limitless) source of moral demands is quite another. Note, in particular, that the latter threatens our 'moral freedom' -- our liberty to (permissibly) pursue any of a wide range of personal projects -- in a way that the former does not. And that's a serious cost. A bit less spending money is neither here nor there; but to close off all or most of one's favoured life plans is a big deal. (Not as big a deal as dying of preventable diseases, mind you; but nothing to scoff at either.)
It would be nice to really have the kind of moral liberty that we like to pretend we have. But we don't (I take it): not with so much gratuitous suffering in the world that we're in a position to relieve. Even so, I do feel strongly that moral liberty is of great value, so it would be immensely desirable to do what we can to ensure that more people do have significant moral liberty in future. This then suggests an additional -- more 'partial' -- reason to promotive effective aid (and increased immigration, and other utilitarian policies): not only is it needed to improve the lives of strangers, but it's essential for creating a future in which we have secured moral liberty.
[I'm reminded of Sterba's argument that in order to secure our holdings as 'rightful property', we must ensure that there is nobody in such need that it would be unreasonable to ask that they refrain from taking from our holdings.]