Well, it's basically because there are two basic ways of dealing with stacking up layers. Photoshop and After Effects want unpremultiplied images. Suppose you have a blue background and you want to add a red circle to it. In Photoshop, the correct way of doing this would be to have an image layer that's red everywhere, and then use the alpha to clip it out. If you have a circle that's red on a black background and has an alpha, then you will get a black fringe. This is what happens in Adobe software. In Nuke and Fusion (and presumably all the other node-based compositors), there's a blending mode called "Over" which basically works the other way around. The red circle is supposed to be red on a black background, and with an alpha channel. If you've got a layer that's red all over and has a circle in the alpha channel, you'll end up *adding* red everywhere even where the alpha is black.
The problem with Adobe software, unfortunately, is that there aren't really any good ways of dealing with this. In Nuke and Fusion, you can use either the "over" blending or a "normal" blending mode same as in Adobe's. And you can do colour math easily to change one thing into another. With Adobe software, you're stuck either using clunky work-arounds or living with ugly borders.