SETメソッドとはコントローラーからビューに値を渡すときに用いることがあるメソッドです。 CAKEPHPのコントローラーメソッドの中にあるメソッドで、例えば以下のように使います。

$this->set("userName", $name);

ビューにある変数$userNameに値$nameを与えることが出来ます。 一方でcompact関数は以下のように使います。

$arr = array(
  'apple' => $apple,
  'orange' => $orange,
  'lemon' => $lemon,
);
// ↑
// 同じ意味
// ↓
$arr = compact('apple', 'orange', 'lemon');

以上の2つを組み合わして、

$this->set(compact("apple", "orange", "lemon"));
// ↑
// 同じ意味
// ↓
$this->set("apple", $apple);
$this->set("orange", $orange);
$this->set("lemon", $lemon);

という書き方が出来るようになります。 これでビューの方では$appleや$orangeを宣言しなくても使うことが出来ます。

関連記事