The other articles seem to do a good job addressing the main differences. As to your question regarding "add-ons", the issue is with farm vs sandbox solutions. Farm solutions can do essentially anything within sharepoint They have full access to the object model, and with one line of code the developer can have functions run as the app pool user. (So, if the current user accesses a page with a custom web part, that web part can do things that the user does not have permission to do.) Sandbox apps have access to a restricted piece of the API. Sandbox apps can access resources within the site collection they're running in, but can't access resources outside the site collection. Also, that one line of code isn't available. Sandbox apps can't just elevate their permissions and run as a service account.
So, it's "simple" to create a sandbox app. But, most existing apps aren't sandbox apps, so most won't work. Oh, and sandbox apps have been deprecated. So don't start building new ones. Instead, look into SharePoint "Apps": http://msdn.microsoft.com/library/office/apps/jj163230(v=office.15)