What is the difference between non-governmental organizations (NGOs) and social businesses?

An NGO is a voluntary, non-profit organization that operates, contributes to, or participates in, various projects on education, training or other humanitarian, progressive, or watchdog activities. They usually collect donations for running programs for disadvantaged or distressed people. The difference is that NGOs operate on donations, whereas a social business is a self-sustaining business.