1)management - having a datastore for each vm just does not scale. If the virtual system is very small, you COULD do that - but, why?
2)performance efficiency - few vms require dedicated storage - to do so wastes spindles, essentially (yes, I know this argument is complicated by arrays that aggregate storage, etc ...)
3)the only reasons I can see to do 1-1 is when you have specialized vm needs - very high perf and you create a special high-perf lun that will be used as the datastore for that vm. Or an argument can be made for 1-1 when a vm disk is very large, as well