And it's written on Java mostly, so that is also an advantage above ethereum. Nevertheless, I believe that waves will never beat eth if both stay alive, because eth is just too popular already and people trust it more.
Waves runs on a JVM but it is written in Go. Anyhow, there is no Waves VS Eth - they are completely different types of platform pitching for very different space in the crypto platform field.
Smart contracts are coming on the Waves platform but, unlike Eth dApps, they are not 100% Turing complete - they are not competing and are aiming at different sectors who have different requirements. In my view Eth and Waves will be the two dominant platforms in the medium term.