I'd recommend Confluence. It's flexible, and available hosted and non-hosted.
It's a wiki at the core, but it has nice version management, for pages as well as attachments. It keeps track of who changes what, and the permission system allows you to specify who sees what (for instance, to allow your clients access, but only to relevant areas). It has nice integration options, such as a remote API interface, a WebDAV interface, and there's plenty of plugins available for functionality not included by default.
You could also have a look at Jira, which is more useful for project management.
No, I do not work for atlassian.