It depends.
If the code creates and manages a single object (say with BRepPrimAPI_MakeCylinder), and then only uses the whole object, you can call it anything you want.
Things are different when dealing with pieces of a shape. If you want the faces of your cylinder, then you have to iterate through the cylinder (say with TopExp_Explorer) and you get the faces in what ever order OCC wants to serve them up. Face3 is a name FC gives to the third face delivered by TopExp_Explorer.
As far as I kinow TopExp_Explorer makes no guarantees on the order subshapes are delivered, but it is consistent for a given shape. If the shape to be explored changes, then the order of subshapes will almost certainly change.