Like was mentioned previously, there isn’t really any hard or fast rules for using any of the three options! If you can achieve the results you need using any of them, then the easiest option (or combination of) would be my preferred way to work.
However, I personally use two of them at certain stages consistently:
Bevel Weight Edges – During the high-poly stage, we generally want more edge loops at edges to create higher fidelity so we can bake that detail down. You could manually create those loops, as Omar mentions that is likely the cleanest method with the most control, but then you’re juggling 3-5 vertices at every “point” to edit your mesh. I prefer to use a Bevel modifier and tag the edges I want to bevel/add more loops to. This way I can simply move one vert around, instead of multiple.
Sharp Edges – When I am creating a low-poly version of my model, chances are those edge loops I created for the high-poly are going to get cut. We do cover it a little later in the course like Adrian mentioned. The issue is that once those edges are gone, the shading suffers since we no longer have the required topology to shade it correctly. Instead, we can use “Sharp Edges” to tell Blender how to better shade the model, which will also improve the quality of our baked assets.
I personally don’t really use the Creased method, my needs are met with the other two options but it is still nice to have in your toolkit just in case!