The major differences being that P/NaCL was:
1. An open standard/implementation
2. Used regular OSS code
3. Was actually written to be secure
The effort spurred ASM.js & eventually the WebAssembly standard because of the discomfort of deploying a cutting edge research to billions of people on the web (the initial NaCL implementation was very large & eventually turned out to have security holes, the original research was improved upon but by then the industry had spoken).
https://en.wikipedia.org/wiki/Google_Native_Client