(Theretically they are the same).
The left is NGUI sprite, combining two textures(rgb and a) with shader, the right is UGUI sprite(original png).
Look at the edges, they are of different qualities.
Why??
They are not different quality. They look equally bad / good to me I guess that one of the textures may be imported as a GUI / UI texture and the other is not. Normally textures are scaled to the next power of two size. So if your image is not a power of two (8,16,32,64,128,256,512,1024, …) you would loose information as the image is rescaled. For UI Unity usually uses either a “NPOT” (non power of two) texture (but that wasn’t supported on old devices) or use padding in the texture and only use a part of the texture.
So it’s not really clear how you imported your textures. Also an important point is where in worldspace your actually render the image. Getting pixel perfect alignment is quite crucial for UI. Otherwise your texture may be a fraction of a pixel / texel between actual screen pixels.