I've been reading a little about entity field queries.
What are the advantages of using entity field queries (EFQ) over views?
What are the largest pain points/disadvantages of using EFQ ?
Advantages of EFQ:
Advantages of Views:
Views cannot perform queries on databases other than relational db (eg Mongodb | NO-SQL). However with EFQ, you can now perform complex queries against No-SQL databases including joins. Hence greater scalability and relatively good performace as well.
However as of now you can also combine Views UI with EFQ with an updated module called efq_views. This way you get a UI and backend power of EFQ.