What is a Shopify custom field?
A custom field is placeholder for data, you cannot fit into Shopify's existing fields for for pages, products, collections etc. available in your Shopify admin detail pages.
Typical custom fields are extra description fields and fields for holding specific information in your area of business, such as product retail prices, specifications, dimensions, weight, materials, ingredients etc. etc. You can also create extra fields to control your design layout such as creating custom product filters, hiding of specific products or articles from searches or call-to-action text on buttons.
In ACF, you start out by defining your field for the type of object (page, product, ...) you need. Part of this definition is selecting the type of data the field is supposed to hold - text, number, a reference to (another) product, an image or whatever you need - so when you edit your custom fields for e.g. a specific page, the ACF editor knows how to render your input field and accept new values being inputted.
Any number of custom fields can be defined - there is no upper limit.
Where are my custom fields stored?
All custom field definitions as well as the values you enter for individual pages, products etc. are stored as Shopify Metafields within your Shopify store. Metafields are an integral part of the Shopify platform and besides providing secure storage for your data, they can immediately be used via Liquid in your design templates to show your new data to your visitors.