I have loved using Basecamp for years since the very first version.
It has always been super easy to share work with clients, todos and general project management.
It is user friendly for clients, which is a huge plus and the invitation system is great.
Their support is always extremely responsive, the few times I've had reason to contact them (it's very stable software).
The mobile app is also very good and easy to use.
Something I've found since upgrading to Basecamp 3 from Basecamp 2 is that in some ways it's harder to do more complex tasks. While they've tried to make it uber user friendly I find that actually it's been to the detriment of power users who are happy with a bit of complexity.
A really basic example is simply moving a list of todos from one area to the next. You either have to drag and drop one by one, or go through a clunky move process.
Additionally, one thing I even emailed them about was being able to just see a list of my own todos on a single project - turns out you can't do that!
Designers/Developers or anyone working directly with a client and needing to share information/files/todos or collect feedback at any point.