I would use ExpressionEngine or Joomla as EE is a rather robust Content Management Tool and Joomla has flexibility.
However, I would highly suggest you use an MVC framework that will allow you to create a custom solution without having necessarily repeat all the common things such as authentication, templating, etc.
Now-a-days, I believe it would actually be more beneficial in the long run to create a custom solution as a CMS will take you as far as it will allow you unless you can extend the system with plugins/modules or you extend it yourself.
Here are a few frameworks you should take the time to check out: Rails (Ruby), CogeIgniter (PHP), Symfony (PHP + XLST), Django (Python), ASP .NET-MVC (.NET)
However, I would highly suggest you use an MVC framework that will allow you to create a custom solution without having necessarily repeat all the common things such as authentication, templating, etc.
Now-a-days, I believe it would actually be more beneficial in the long run to create a custom solution as a CMS will take you as far as it will allow you unless you can extend the system with plugins/modules or you extend it yourself.
Here are a few frameworks you should take the time to check out: Rails (Ruby), CogeIgniter (PHP), Symfony (PHP + XLST), Django (Python), ASP .NET-MVC (.NET)