Building a membership site in Drupal isn't so hard, really. The challenge is to have memberships that include recurring fees. That is, a membership that automatically renews, and the member pays automatically. There are several reasons why this is hard. Some reasons include the payment processor - not all payment processors support recurring fees. But mostly, it's the tools we have available that are limiting in their options. But it is possible, though difficult, and fraught with peril.