with はVCLインスタンスをその場で作って解放するなんて時には便利だけどね

例:
http://pc.2ch.net/test/read.cgi/tech/1009903617/143

このコードは
with TBitmap.Create do try
  Width :=100;
  Height:=100;
  PixelFormat:= pf1bit;
  Canvas.Ellipse(1,1,100,100);//円を描く
  Canvas.TextOut(5,5,'こんにちは');
  SaveToFile('temp.bmp');
finally Free; end;
とローカル変数を使わずに書ける
出来れば
with XX same Y do と書くと XXの別名が Yになる構文だったらもっといいな