that come from 3 things I would guess:
first, the nes did not have an entire OS to run while the game itself is running
second (perhaps the most important one), they may be far more powerful CPU wise and GPU wise, but that means not a lot if their support of html5 and javascript is poorly done .
third, the control level is not the same nor what you can do, as far as I know, on a NES you could only have a limited amount of sprites on the same line, with limited colors, all sprites having a relatively similar size behind the scenes, at low res, no rotations, no sprite scaling, but you could monitor and control everything at the roots of the system with no useless interactions, which you do not have with a browser based engine, with a huge layer of optimisation being done, while with C2 people struggle much more to optimise, and tbh wrappers and browser vendors are not that reliable.
a smartphone like the iphone 6 can handle gta san andreas so comparing to an NES natively is not accurate. (edit:even comparing to a NES within the realm of html5 and js is inaccurate).