What SharePoint 2013 deployment scenario you choose to host your SharePoint 2013 farm dictates how you develop your code and deploy it. SharePoint 2013 offers three deployment options when it comes to code packaging. See SharePoint 2013 Deployment Scenarios Explained for more details here.
Full Trust Farm Solution
This code packaging option is only available in the on-premise deployment scenario and some dedicated Cloud hosting options. Solutions contain code and customizations that are deployed across the entire farm and are deployed specifically to the \BIN directory or the Global Assembly Cache (GAC). A SharePoint Administrator with farm administrator rights deploys the solution to the farm but the solution itself can be added by a Developer with console access.
These are partial trust and are available in all types of SharePoint 2013 deployment scenarios. These sandboxed solutions are available to all sub sites of a site collection to where they are deployed. You do not have to be a Farm Administrator to deploy a sandboxed solution, however there are restrictions on solution development if you are a Developer.
SharePoint 2013 Apps
This is a new packaging option introduced in SharePoint 2013 and is based on the idea of small widgets or apps very similar to the apps on your smartphone. However, SharePoint apps are different to smartphone apps as the actual execution of SharePoint apps does not take place in SharePoint, instead it takes place in the browser and communicate with SharePoint via OAuth over SharePoint 2013 CSOM APIs.
What code packaging option do you currently use?