The main difference between non-profit and for-profit is that non-profits are accountable to donors and for-profits are accountable to customers. This means that the non-profit sector is going to be more elitist and more less efficient than the for-profit sector. It does not mean, as so many people think, that the non-profit sector operates from better motives or provides more social benefit.I am not saying that a non-profit sector is a bad thing. Just remember that it is inherently paternalistic, and that is problematic.
(italics original)
This is from economist, author and entrepreneur Arnold Kling at his blog.