IMO, native GUI has one more benefit: it behaves as expected.
Take the push button, for example: if you release the mouse outside of the button (by keeping the mouse down, e.g. when you realise you clicked without thinking), the button won’t register the click. Another expectation is to have a default button, when applicable, where you can dismiss a dialog using the keyboard (yes, the developper ultimately makes the choice, but I’m seeing a lot of wrong designs when GUI guidelines aren’t followed).
When an app is not native, I’m seeing more “unsupported features”, possibly because some properties from the OS aren’t implemented by the alternative (I don’t know: I’ve never programmed otherwise than using a native GUI; all I can say is the feelings I’m having and the reasons I’m guessing).