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.