The trade off is things run much slower than native code. But computers are really fast nowdays & and people's attention span and desire to install software is very low.
Finally there seems to a 3d web standard emerging, WebGL - a 3d version of the 2d canvas library I have been using, and so fits in the same niche described above. Click to find out "does your browser support WebGL?"
Some cool examples: http://www.chromeexperiments.com/webgl
A Tron Lightcycle game on 3d surface: http://cycleblob.com/