Which of the three technology choices―VBA macros, managed add-ins built with Visual Studio, or apps for Office―are best for your particular scenario? It is important to note that all three technologies will be supported in the foreseeable future. However, if you're looking for a new way for users to interact with Office customizations, apps for Office is a great place to start.
VBA code is often stored and distributed directly within a document. While this makes initial deployment and distribution easy, it also makes updating code in existing documents more difficult.
For developers who want to leverage more extensive customizability of Office, or who want to target Office 2007 or Office 2010 (apps are available starting in Office 2013), VSTO is the primary option.