I quote PrimeFaces reference guide:
RowKey should be a unique identifier from your data model and used by datatable to find the selected rows. You can either define this key by using the rowKey attribute or by binding a data model which implements org.primefaces.model.SelectableDataModel.
So if your datatable is set by collection of beans, rowKey should be the attributte which uniquely represents that bean, e.g a property representing a primary key of a database.