Understanding their uses will help you to develop your criteria.
So bevel weight is when you are using the bevel modifier set to weights If you’re not using the bevel modifier then it does nothing. This allows you to adjust different beveling amounts based on the bevel modifiers settings. The criteria becomes: using bevel modifier, need variation on the amount of beveling throughout the mesh.
Crease is used to give sharp edges(points for vertex crease) when using subdivision surface modifier aka subsurf or sub-D modeling. You use crease where supporting loops won’t work, aren’t possible to make, and/or will create to much geometry.
Sharp edge/face is used to control the normals calculations in a way to counter act the overall mesh settings. For example if you have edges/faces that you want to render as flat when the mesh is set to smooth shading. This can also be used with smooth by angle(use to be auto smooth)for edges/faces that are in the smoothing angle.