Definition of on-premises hosting
On-premises hosting is the opposite of cloud hosting. You purchase your own servers and computers, and software you use or develop is installed directly onto your servers for use by your business. As a result, you have complete control over the configuration of your system, any changes which happen to your system, and when your software is updated. You don't need to reply on internet access to use your software - so downtime is not a concern - and you only need to pay for your user licenses once, as opposed to on a subscription basis.
When is it best to host data on-premises?
On-premises hosting puts full responsibility of your environment into your own hands. This can be a blessing or a curse - you need to be diligent to ensure your setup can handle disruption, that your data is secure and that your software is well maintained and updated. If you're unable to keep up with the maintenance and security aspects, on-premises software hosting may not be the best choice. Additionally, on-premises hosting has a large initial expenditure, and can take time to implement (due to the physical aspects of the installation).