Another thing which I consider to be quite important is that the use dependencies will be resolved as the software loads. They will be static and unchanging throughout the lifespan of the process. This is not true of require, which happens only when (and if) the statement is executed at runtime.
Therefore, I suggest that you use require (by means of UNIVERSAL::require) only when it is clearly called-for. And, one fine example of where it is called-for can be found in, say, an RPC server such as RPC::Any, or some large web-site servers where some components are far more commonly used than others. In these cases, it might be desirable and appropriate to “demand-load” portions of the software at runtime.