Charities aren't commercial entities as they don't sell goods or services for profit. Their income is raised by applying for grants, asking for donations and fund raising. Large charities have similarities to commercial enterprises however.
They have the same expenses as a commercial enterprise; direct costs such as costs relating to fund raising events and overheads such as office premises, audit costs, accountancy.
Unlike commercial enterprises charities pay no tax because they make no profits. Income is spent on the charity's aims, helping a certain group of people or addressing a particular problem..
Working for a charity is not all that different from working in commerce. Whether you're publicising the charity, organising the charity's shops or organising events the roles will have similarities to business roles. I would imagine charity staff are more likely to ask for and expect discounts, that's all.
Volunteers are more likely to be used by charities both as a way to save money and to involve the community. Most charity shop staff are volunteers. Other roles would be marshalling events, fundraising or manning helplines.
Ethically charities have been criticised for being too similar to commercial enterprises. They have similar staff structures and similar salary rates. The 'hard sell' approach has been criticised - for example when charities send people out on the streets to sign people up for giving by direct debit. They have also been criticised for having large wages bills which lessen the funds available for charitable purposes. Hence the scrutiny of the ratio between salary costs and funds raised and available for the charity's work. People also see them as being an easy option; do nothing and pay the charities to deal with problems.