There are several parts to CiviCRM, including the base CiviCRM features, CiviMail, CiviContribute, CiviEvent, and CiviMember.
CiviCRM
CiviCRM allows you to collect, organize, and work with information on donors, customers, contributors, members, etc.
There are a number of default fields that come standard in CiviCRM, including first name, middle name, last name, street address, city, state, postal code, etc.
You also have the ability to create other fields, which can be a text line, text area (multiple lines), radio boxes (multiple choice where you can only select one), checkboxes (where you can select multiple items), etc. These additional fields will then be available on a person's contact record.
With CiviCRM, you can search through the records, edit people's records, and add new ones.
Because it is a relationship management database, you can also add relationships to people such as "child of", "spouse of", "employee of", etc.
CiviMail
The CiviMail system allows you to send out bulk emails to people in your database. You have the option of sending to everyone, to groups you have set up, etc.
The sending of emails is done through your web browser and includes an html and text version of the email. The system tracks how many emails are opened and/or forwarded, handles unsubscribes and more.
If you are running a newer version of CiviCRM 2.2+, it is now easier to use CiviMail on a shared hosting system. However, you must still follow the rules set forth by your host. Some hosts have very low limits for how many emails total can be sent from your domain per hour, which can make it difficult to use CiviCRM. We highly recommend checking with your web host before using CiviCRM, as you could block your ability to send emails from your personal account on the domain because you used your quota through CiviMail. Even worse, you may violate your host's terms of services and end up with your site deactivated.
You will also need someone with advanced CiviCRM skills to help you set this up so the appropriate cron scripts can be turned on so that emails are sent and unsubscribes/opt-out/tracking information is received.
CiviContribute
CiviContribute allows you to take donations online. It will collect any information you tell it to, which is great for candidates and political groups who need to collect specific information on donors in order to be in compliance with the law. You can also add honoree information, allow people to set up their own contribution pages for your cause, and more.
Currently, CiviCRM connects with a few merchant accounts for taking credit cards online: PayPal (website standard and pro), Authorize.net, PayJunction, Google Checkout, Moneris eSelect Plus, Elavon / Nova, WAY, PayJunction, PaymentExpress, and ClickAndPledge. As of right now, only Paypal is supported for recurring contributions. The community is working to raise the funds to be able to hire a developer to extend that ability to Authorize.net (payment processors are contributed parts of CiviCRM, not core, and as such are not supported by CiviCRM's developers). Google Checkout is limited in that only federal campaigns/political organizations are allowed to use it - they require a copy of your filing with the FEC in order to keep your account open.
CiviEvent
CiviEvent allows you to set up events where people can register. These can be paid or free events. Paid events use the same payment processors as listed above for CiviContribute.
Events can have a maximum number of sign-ups attached, allowing you to close registration once you reach the maximum number of attendees. People can also be added to waiting lists and then notified when space is available.
Multiple people can be registered at one time, making sign ups for families and such much easier.
There is currently not a way to attach workshops/breakouts to the event and allow people to choose their groups. This can be done via adding fields to CiviCRM and having those show on the registration form; however, it will not keep track of how many people are signed up for what, close items when they are full, etc. This is a feature that has been requested and may need funding to achieve.
CiviMember
CiviMember allows you to offer memberships - both paid and free. These memberships have a length of time attached to them (such as a year), and people receive renewal notices prior to their membership expiring.
This is great for non-profits and community groups that offer paid memberships as a way to fund their activities.
CiviPledge
CiviPledge allows people to pledge to donate a specific amount at a specific interval. It may be that they want to donate $15 a month every month for 6 months.
This system allows them to make their pledge, make the first contribution, and then send out reminder emails shortly before their next donation is due.
This does not automatically run those pledges - it only keeps track of them.
You will also need someone with advanced CiviCRM skills to help you set this up so the appropriate cron scripts can be turned on so that the pledge statuses will be updated and reminder emails sent.
CiviCase
CiviCase is for case management. It is a new feature of CiviCRM, and as such does not have much documentation yet.