SharePoint site security helps manage permissions for different resources within a site by defining the levels of accessibility permissions for different peoples and groups. In SharePoint, always the top-level or the parent level permissions are inherited to it's child contents (e.g. a sub-site inheriting permissions from it's parent site collection).
In-order to create unique permission we need to break the inheriting parent permission and create new permission level for the SharePoint content. These permissions can be defined for specific users or groups.
Provided below is an example using C# for defining custom permission for a list item.
// assign a item to SPListItem object.
SPListItem objLstitem = objLst.Items; // objLst is the SPList object