Views vs. EntityFieldQuery Why would one use entityfieldquery over views? Is there any benefit to using EntityFieldQuery over using views? Is it the performance benefit? Is it the ease of use of a API? Does it provide you more granularity?
It was recently written that there are several benefits over EFQ, entityfieldquery over other methods:


OOP - EntityFieldQuery provides an object oriented programming approach that allows you to create abstract classes to extend.
Flexibility - An advantaged arised from #1, creating your own objects allows you to modify the entitycontroller to do more things: Store field data via mongo DB, return data into blocks only, etc.


Source: http://chris-on-the-web.blogspot.com/2012/03/drupal-7-views-vs-entityfieldquery-pt1.html