Overwriting datablocks is the primary cause for incompatabilities. However, in a rare case, a mod may overwrite a default function by mistake, which would essentially break everything that uses that function. One forgotten line of code and bam, almost every weapon will shoot the same projectile, if they even function at all.