They both do the same thing, which is to allow a user to connect to a Hub.
The differences are primarily up to the user. DC++ allows you to be in more then one hub at a time, which DC does not do. Having used both, DC++ is better, in my opinion, than DC, though DC is certainly a touch prettier.