There are two views of what makes a PWA - one of them is essentially Google's which says that to be a PWA, the app must be Reliable, Fast, and Engaging (https://developers.google.com/web/progressive-web-apps/). I don't agree with this assessment - as I could build a PWA that isn't fast, reliable or engaging.
▪ PWAs are installable: mobile and desktop users can quickly install them on their phone’s home screen or desktop using an installation UI provided in the app. Mobile phones have pretty much always had the ability to ‘copy’ a web site’s URL to the device’s home screen, but this is better. I’ll explain more about this in the next chapter.
▪ PWAs cache the app’s core UI on the local device, so when the user opens the app, the UI loads quickly before the app tries to go out and get updated data from the network. PWAs feel snappier than traditional web apps because of this.
▪ PWAs run background tasks, enabling resource caching and background processing. Traditional web apps can’t do this (well, they can, but takes a lot of hand-crafted code or a third-party library).
▪ PWAs can receive push notifications from a backend server regardless of whether the app is running.
The reason you see overlap between PWAs and native applications is because these PWA capabilities listed above are the same capabilities that make native mobile applications...mobile.