M-Pesa is not actually a company but a product offered by the Kenyan telecommunications giant - Safaricom.
The essence of the product is to enable transfer of e-money using a basic mobile phone.
To answer your questions simply, transaction fees are charged for the services as below.
1. Deposit money into your mobile wallet =free
2. Transfer Money to a registered or non-registered user=a fee applies as per the transaction amount based on bands
3. Withdrawal from mobile wallet =a fee based on transaction amount.
In addition, other services like paybill, which enables a user to settle utility bills also attract a charge.
Based on the amazing uptake of the product and the pricing structure, M-Pesa makes Safaricom a hell lot of money.