Samba is extremely good and well crafted but there are features of domain controllers and other enterprise level features that are unimplemented or unreliable in Samba because reverse engineering them has been extremely difficult.
Also, when Microsoft makes even niggling changes without revealing the specifications there is a fairly long delay before they can be implemented in Samba.
Of course one if the problems in reverse engineering is the band-aid and bailing wire approach Microsoft used to turn IBM's PCNet into Today's Microsoft Networking. It is not necessarily at all consistent.