例えばワークシートの変数だって
Thisworkbookならオブジェクト名でいいのに
Dim ws as Worksheet
Set ws = Sheets("シート名")

いちいち変数宣言と変数に代入するコードばかり
理由があるとするなら、
Set ws = 〜
と書かなきゃ、いきなりオブジェクト名でO.Range(〜)と書かれても読み手や初心者は意味不明だからという事だと思う
私はほとんどSet ws = なんか使わない
With wb.sheets(1)とも書く
何なら最近はworkbooks.open(パス).Sheets(1)で引数として渡したりもする