Generally, clone is useful whenever you are dealing with references and would like to use the current value without any potential future changes.
E.g. if you would like to compare values pulled from a state_dict, you would have to use clone() to create the reference values. Otherwise they would be updated in the next optimizer.step() call and your initially stored values would change as well.
That being said, in a “standard CNN training routine” you probably wouldn’t need to call it.