Picklist fields are a basic way to restrict user input: they deliver a default set of allowed values using a select list. From the user interface, it is impossible to set a different value than the ones listed, so you have a guarantee that no invalid value is stored.
This is not technically true, though. The picklist type field is just a UI-contained text field, but if it is not enforced, then you can set an invalid value by using other tools (such as REST APIs or Apex code).
Let's try managing a picklist field.
Let's create an Invoice Type picklist list field on the Case Detail object and uncheck the Restrict picklist to the values defined in the value set checkbox:
Once the file is created ...