I use CiviCRM in several projects I have worked on for non-profit organizations. It provides a robust backend for membership management as well as event registrations and makes accepting payment (especially with Paypal's Website Payments Pro) very easy.