First of all, Android doesn't use Java. It uses a subset of Java APIs, and its syntax. It's VM is called Dalvik, and does not execute Java bytecode, but is all its own.
Anyways, the VM model for Android is a fantastic idea, and I'll tell you why. Easy to develop for and hardware agnostic. This allows Android to easily do exactly what it is doing right now - taking over the mobile OS market (Ahem). Google has the muscle to ram it down carriers' throats, and they are ramming with gusto. It's a pretty damn easy sell to manufacturers too. They're offering an enterprise-quality, easily deployed mobile OS, scalable to nearly any device, FOR FREE? Also, you can modify whatever the hell you want about it. What self-respecting businessman would ignore that offer? HTC, for example, is taking huge advantage of Android's openness with its Sense UI and countless apps, widgets, and such. Sure, a VM model is certainly slower, but is it worth it? Absolutely.
Also, Google recently released a Native Development Kit for Android. So, now you can have ARM apps, hooray!