Not new, has been around from (I think almost) the beginning.
The first one is what you could use when you are working with a generic method to do some dynamic stuff directly on an element.
The second is obvious. It is the more direct way to get/set dataprovider values.
I use the first to set properties of elements on different forms where elements have the same name. Instead of writing/copying 3 methods I wrote one global method and use that to set the elements.