UI policies are a more configurable version of client scripts. An administrator sets a condition and then uses actions or scripts to amend fields. Using configuration, a developer can change whether a field is mandatory, visible, and read-only. If these are the changes you are considering making to a field, a UI policy is usually the best option. UI policies are easier to understand and maintain for other administrators than client scripts.
UI policies can also be scripted based on the condition set, as in, you can run code if the condition matches and you can run code if the condition does not match. Setting the condition in a UI policy is much like setting a condition elsewhere in ServiceNow, as it uses the standard condition builder.
UI policies run against a table, but because you can use the condition builder, a number of fields can be used as part of the condition...