Good day Thriveni,
The best practice to use would be to use Form States, however, please keep the number of Form States for a Form to a minimum because, whenever you define a new Form State, all the Rules for the Forms are duplicated for the new
State.
Try to limit Form States to only those states that are necessary, or re-use States where
possible.
When the Form States differ significantly, it may be easier to define a separate Form
than try to handle all possible scenarios in one Form definition. This will be determined by your business process and business logic. If there are too many rules to be configured in the form for the specific users who will receive the tasks then know that performance will be affected on the form which might result in timeout errors. And that can be unpleasant as we all know.
As reference please see the following article on K2 smartforms implementation tips: https://help.k2.com/en/k2ls-qrs022.aspx
As well as how to use Form States: https://help.k2.com/onlinehelp/K2Cloud/UserGuide/Update_9/default.htm#How-Tos/FormStates/FormStates.htm
Hope this answers you well.
Best regards,
Dumisani