A common customization for SuiteCRM is controlling the user behavior while editing records. A couple of examples are forcing a field to be filled based another field value, updating a field based on the input of another field, or locking editing of the record based on a field value.
Some of these customizations can be done in either the UI or some simple vardef field definitions but we are limited in what we can do. For example it is easy to make a field required in Studio but you cannot make it required based on the value of another field such as forcing the description of a Lead to be filled in if the status moved from New.
Here is an example of how to lock editing of a record based on a field value. While this is a bit of a trivial example the possibilities are wide open.