There are two schools of though on ASMLib:
1) They hate it and think it is a waste of time, suggesting that you can do everything natively using UDEV.http://www.oracle-base.com/articles/lin ... -and-6.php
2) They like it, saying they don't have to mess around with UDEV rules and it is the recommended approach.
I don't have a strong opinion either way. I've used both and don't mind either. It does some things well and if you have the correct type of storage, there is some functionality only supported using ASMlib, but for the most part the choice has little effect.
For some time ASMlib was not supported on RHEL6, as Red Hat refused to do their part of the job and maintain the kernel module for their kernels. Oracle maintains the kernel module for UEK and SUSE maintains it for their kernel. More recently, RH back tracked and started doing their bit, so ASMLib is supported for RHEL6.http://www.oracle.com/technetwork/serve ... 40776.html
I'm not sure why someone would think it is a "marketing" thing.
It was done for a very sensible reason, to provide a standard interface to storage layers, so 3rd part storage vendors could hook into it. That didn't take off originally, but now some storage vendors are playing ball. There is one type of EMC storage that, when using ASMLib, can track lost writes properly, for the first time ever in Oracle's history. Depending what happens on the storage front over the next few years, you might find us all raving about the necessity of ASMLib. Then again, you might not.