Community development aims to empower communities and promote social justice. It is defined as building active communities based on mutual respect and removing barriers to participation. A community can be defined by geography, culture, social factors or networks. Key principles of community development include participation, empowerment, being community-led, and promoting social justice. Activities involve profiling communities, capacity building, organizing, networking and negotiating. Practitioners face dilemmas around funding, accountability, acceptability of issues to authorities, and evaluating complex community-level outcomes. The overall goal is to empower disadvantaged communities to have greater control over decisions impacting their health and lives.