Several scenario developer or organization don’t want to publish their app on Office Store.
In this situation we can deploy our app to specific user or client or to use it in internal organization.
An app catalog site contains a special type of document library that is used to upload and store app package files. Along with storing the app package file, this document library also tracks various types of metadata for each app. Some of this metadata is required, whereas other metadata is optional.
You must have farm administrator permissions within an on-premises farm to create an app catalog site.
Steps to create App Catalog Site in SharePoint.
Navigate to Central Administration.
Click on Apps Link
It will redirect to the Apps Page.
Here you can see App Related Configuration.
Click on Manage App Catalog. It will redirect you the page where App Catalog Website needs to be created. Note that the app catalog site must be created as a top-level site within a new site collection
You must provide read access to End users if you want them to have the ability to discover apps and install them at site scope.
Once you provide all information App Catalog site is going to be created.
You will find that there is a document library with a title of Apps for SharePoint which is used to publish SharePoint apps. There is a second document library with a title of Apps for Office that is used to publish apps created for Office applications such as Word and Excel.
You publish a SharePoint app by uploading its app package to the Apps for SharePoint document library.
I found this useful information from site : https://www.microsoftpressstore.com/articles/article.aspx?p=2222447&seqNum=3