For example, I might have Script.cs, but I would also have Script.cs.meta, or a folder named Sprites and a file named Sprites.meta. Why?
Well, meta fields are used to describe or specify a file, in version control too, but in unity meta files store the import settings of the files you have in your project. Your script or folder have a meta file which tells Unity how to prepare the asset in the project. If you delete a meta file Unity reimports the asset and creates the default meta file for that file type